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. je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
        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.
              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. 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