Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[RESOLU] Aide pour visual basic


Raphdu01

Messages recommandés

vi

 

j'ai vu la connerie

 

 

le mieux c'est

 

sub Test

 

dim nbbat as string

dim batnb as variant

 

do while isnumeric(batnb) = false

 

 

nbbat = inputbox("nombre de bateaux ?","combien de bateaux voulez vous","8")

 

batnb = nbbat

 

select case batnb

 

case 1 to 8

exit sub

 

case else

msgbox "veuillez saisir un nombre compris entre 1 et 8"

batnb = ""

 

end select

loop

end sub

 

oups! le loop s'est promener.

 

note, j'ai un doute sur la transformation du "string" retourner par l'inputbox en variable de type numérique

 

edit 2: encore un oubli. la remise a 0 de batnb.

 

edit 3: suis pas réveiller. isnumeric = FALSE.

Modifié par scuny
Lien vers le commentaire
Partager sur d’autres sites

re

 

desolé ca marche toujours pas :P

jpense que ca correspond pas tout a fait au code que j'ai deja mais j'avoue que je comprend pas grand chose au code que tu me propose (j'ai a peine plus de deux mois d'experience en vb et pour l'instant a part des for des if et la base de la base du vb je maitrise pas du tout) et ca doit vraiment pas etre facile de m'aider vu que j'ai deja du mal a m'expliquer et que t'as pas le projet devant toi...

 

jvais surement trouver une autre solution plus simple que les inputbox, par exemple avec une saisie dans un textbox au moins ca je sais comment ca marche....

 

Merci quand meme

++

 

lol jviens de voir tes edits jvais retester ca va ptetre marcher..

2 : je confirme je laisse tomber jy comprend vraiment rien

Modifié par Raphdu01
Lien vers le commentaire
Partager sur d’autres sites

est ce que quelqu'un d'autre saurait m'aider avec mes inputbox !

 

j'ai fait des inputbox qui permettent de choisir autant de cases et de bateaux qu'on veut mais sans les erreurs evidement

 

-si l'utilisateur n'a rien saisi ou saisi du text ca bug donc je voudrait que nbbat = 8 et nbcases=20

-si l'utilisateur clique sur annuler : idem

 

 

je trouvait mon idée tellement bonne ^^

 

pour l'instant avec ca sa marche mais a condition de bien saisir un nombre et de pas cliquer sur annuler et j'ai pas encore corrigé le bug de si ya plus de bateaux que de cases. tout ce j'ai essayé d'autre avec les goto et des for des selectcase (voir solution de scuny) ca n'az pas marché

    nbcases = InputBox("Nombre de cases ?", " ", "20")

nbbat = InputBox("Nombre de bateaux ?", " ", "8")

 

PS : quel est exactement le role de isnumeric(...) parce que si c'est censé verifier si une variable est bien numerique ca marche bizarre...

Modifié par Raphdu01
Lien vers le commentaire
Partager sur d’autres sites

je viens de retester. excuse je n'avais rien pour le faire tout a l'heure.

 

 

Private Sub Test()

Dim NbBat

Dim NbCaseMax As Integer

 

NbBat = -1

NbCaseMax = 20

 

Do While NbBat = -1

 

NbBat = InputBox("bateaux ?", , "8")

 

Select Case NbBat

 

Case 1 To 8

Exit Sub

 

Case Is < 0

MsgBox "nombres négatif non autorisé"

NbBat = -1

 

Case Is > NbCaseMax

MsgBox "plus de bateaux que de case ou mauvaise saisie."

NbBat = -1

 

End Select

 

Loop

End Sub

 

ca marche.

 

 

edit: tu adapte pour avoir le max de cases en plus

 

edit2: si cela te convient je te ferais l'explication détaillé plus tard.

Modifié par scuny
Lien vers le commentaire
Partager sur d’autres sites

je suis desolé scuny j'ai vraiment l'impression de te faire perdre ton temps mais ce n'est pas vraiment ca que je recherche...

 

je ne veux pas de nombre de case maximum mais que l'utilisateur saisisse le nombre qu'il veut

 

je ne veux pas de nombre de bateau maximum non plus mais une saisie de l'utilisateur

 

j'ai corrigé le probleme d'un nombre de bateaux superieur au nombre de cases

 

et surtout je voudrait une boucle qui renvoit vers l'inputbox en cas de saisie autre qu'un nombre (vide ou texte)

 

si tu pense que ton code repond a ca par contre je veux bien une explication parce que par exemple j'ai pas compris pourquoi tu initialise nbbat à -1 et je ne comprend pas ce que fait le do while...

 

Vraiment desolé !

 

merci pour le temps passé

++

Lien vers le commentaire
Partager sur d’autres sites

operation reussie en grande partie :

 

re:     nbcases = Val(InputBox("Nombre de cases ?", " ", "20"))
nbbat = Val(InputBox("Nombre de bateaux ?", " ", "8"))
If nbcases = 0 Then
       GoTo re
End If
If nbbat = 0 Then
       GoTo re
End If
If nbbat >= nbcases Then
       MessageBox.Show("Saisissez un nombre de bateaux inférieur au nombre de cases !")
       GoTo re
End If

 

 

Avec Val() ca me permet de prendre uniquement les valeur numeriques saisie dans l'inputbox donc si il y a du texte ou autre chose qui ne va pas ca renvoie la valeur zero donc avec deux if apres je renvoie a la saisie dans l'inputbox.

 

Enfin ! Je me suis rappelé de cette astuce que mon prof m'avait donné au début de l'année pour un autre exercice comme quoi ecouter en cours des fois ca sert ! ^^

 

Reste plus qu'a corriger le "annuler" qui m'embete toujours autant..

 

Edit : je corrige meme le bouton annuler renvoi a la saisie dans l'inputbox !!! Jsui trop content apres ces heures passées a chercher enfin j'y arrive !

 

Edit2 : message aux modérateurs : je met pas resolu parce que jvais surement revenir poser des questions (j'ai l'habitude de voir a la fin de mes sujets "merci de faire editer [resolu]")

Modifié par Raphdu01
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

Comme prevu voila la suite de mes questions fatigantes et pas facile a comprendre

 

Dans mon form1 j'ai créé un menustrip options ou je peut choisir 1 joueur ou 2 joueur en cochant...

 

Le seul probleme c'est que quand j'en coche un l'autre reste coché donc j'aimerai savoir si c'est possible de pouvoir un selectionner un seul a la fois soit par du code soit dans les options j'ai pas reussi a trouver..

 

j'ai essayé comme ca mais ca ne marche pas du tout

 

        If joueurToolStripMenuItem.Checked = True Then
           JoueursToolStripMenuItem.Checked = False
       Else

           JoueursToolStripMenuItem.Checked = True
           joueurToolStripMenuItem.Checked = False
       End If

 

merci d'avance pour votre aide

a+

Lien vers le commentaire
Partager sur d’autres sites

Salut Kewlcat !

 

non je ne parle pas de radiobutton. En fait j'ai créée une barre de menus (fichier, option ...) et j'ai deux choix possible dans option : 1 joueur ou 2 joueurs et je veux pouvoir cocher une option ou l'autre pour jouer...

 

Si tu veux un exemple c'est comme dans le demineur dans partie tu peut cocher debutant, intermédiaire ou expert.

 

J'en ai parlé aujourd'hui avec mon prof et il m'a dit qu'il fallait taper du code donc je vais regarder ca ce soir mais evidement je ne suis pas contre une idée exterieure !

 

a+

 

edit : autre petite question que faut il ecrire dans le menu pour faire un trait pour separer les item d'un menu j'ai su mais plus moyen de ma rapeller et j'ai du mal a trouver sur internet

Modifié par Raphdu01
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...