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. 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.
      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. 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. 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. 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. 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. 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. 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.