Boucle: Répéter un certain nombre (VB)

Résolu
-Shadow- -  
 Kyoya31 -
Bonjour,
Je voudrais savoir comment on fait pour spécifier le nombre de fois qu'il faut recommencer une boucle.
J'ai essayé:

While(3)
msgbox("Erreur", vbCritical, "Erreur")
'Ceci n'est qu'un exemple
End While

Et la boucle se fait à l'infini quand même!

Merci de m'aider dans ce projet en Visual Basic.
Configuration: Windows XP Media Center Edition 2005 sp2
Firefox 2.0.0.11

11 réponses

  1. PPBoyington Messages postés 2318 Statut Membre 402
     
    je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
    4
  2. PPBoyington Messages postés 2318 Statut Membre 402
     
    A la place de 3 tu dois mettre une opération qui va devenir fausse...comme while (X<10) et dans ta boucle tu met X=X+1 donc si X demarre a 0 au bout de 11 fois il sera superieur a 10 la condition dans le While sera fausse, la boucle sera arretée.
    2
  3. -Shadow-
     
    Donc, j'ai fait comme ceci:

    Dim x As String = 0

    While(x < 3)
    x = x + 1
    msgbox"test", vbCritical, "Erreur"
    End While

    Mais ça ne marche pas... (ça devrait logiquement marcher mais non...)
    En fait, c'est pas pour faire un message, mais un mailer.
    Et je donne la possibilité d'envoyer plusieurs mails.

    Donc, comment je m'en sors?
    2
    1. Kyoya31
       
      Dim x As String

      x = "0"

      While(x < 3)
      x = x + 1
      msgbox"test", vbCritical, "Erreur"
      End While

      Normalement ça doit marcher
      0
  4. max
     
    cette boucle ne veut pas tourner la valeur pourquoi ?

    Do

    console.WriteLine("Entrer le numero de nif")
    bool=false
    chef1.nifo2=console.ReadLine()
    If chef1.nifo2<>chef.nifo2 Then

    bool=true
    Else
    If chef1.nifo2=chef.nifo2 Then
    console.WriteLine("nif exite deja")
    bool=false
    End If
    End if

    loop while bool=true
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PPBoyington Messages postés 2318 Statut Membre 402
     
    je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
    1
  7. Salm
     
    Essayez ça :

    Private Sub Form_Load()
    Dim i%, NombreDefois
    i% = 0: NombreDefois = 10 'par exemple
    Do Until i% > NombreDefois 'utilser Do plutôt que While
    MsgBox (" Ce que vous voulez")
    i% = i% + 1
    Loop
    End 'Arrêt ou Suite de votre programme
    End Sub
    1
  8. -Shadow-
     
    Oui, mais à part les strings, comme chaîne de nombre, y'a quoi? (Je sais que tu te connais pas en VB, mais il y a des points communs entre les langages)
    0
  9. PPBoyington Messages postés 2318 Statut Membre 402
     
    integer,decimal...les connaisseurs de VB dites lui comment definir une variable NUMERIQUE...

    et tant qu'a faire le bon vieux:
    For I=1 to 10
    msgbox"test", vbCritical, "Erreur"
    next I

    il ne marcherait pas en VB ? Parce que tu n'as pas besoin d'une condition logique si tu sais combien de fois tu veux faire tourner ta boucle dès le départ.
    0
  10. PPBoyington Messages postés 2318 Statut Membre 402
     
    https://www.commentcamarche.net/contents/1185-vbscript-les-structures-conditionnelles

    Tu regarde ici, le FOR NEXT est l'instruction qu'il te faut.
    Si tu tapes ca :
    For I=1 to 10
    msgbox"test", vbCritical, "Erreur"
    next I

    Tu dois avoir 10 fois ton message d'erreur.
    0
  11. -Shadow-
     
    Ouais, maintenant ça marche!
    Il fallait tout simplement mettre:

    Mext

    et non:

    Next I

    Maintenant, la boucle se fait le nombre de fois demandé!
    Merci
    0
    1. Zakapuce Messages postés 74 Statut Membre 7
       
      whouaa c'est vrai que tu t'y connais toi en msgbox ... je suis impressionné ... respect ...

      Pour info
       Mext 
      n'est pas du VB, une boucle
      For
      est toujours suivi d'un
      NEXT
      tout comme While ... Wend et Do ... Loop.
      0