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

Résolu
Utilisateur anonyme -  
 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.

11 réponses

PPBoyington Messages postés 2011 Date d'inscription   Statut Membre Dernière intervention   402
 
je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
4
PPBoyington Messages postés 2011 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
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
Kyoya31
 
Dim x As String

x = "0"

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

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PPBoyington Messages postés 2011 Date d'inscription   Statut Membre Dernière intervention   402
 
je ne connais pas le VB mais String c'est chaine et pour faire des additions il vaut mieux un nombre
1
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
Utilisateur anonyme
 
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
PPBoyington Messages postés 2011 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
ça ne marche toujours pas!
0
PPBoyington Messages postés 2011 Date d'inscription   Statut Membre Dernière intervention   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
Utilisateur anonyme
 
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
Zakapuce Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   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