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

Résolu
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. je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
    1. 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. 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
        1. 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
          1. 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.
        2. 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.
          1. 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.
            1. 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)
              1. je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
                1. 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?
                  1. Dim x As String

                    x = "0"

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

                    Normalement ça doit marcher
                2. 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.