Boucle Do ... Loop [VBScript] [RESOLU] - VB/VBA/VBS - Programmation
Marsh Posté le 27-02-2006 à 15:51:34
Hello,
Ca fait un petit moment que je ne fais plus de VBscript, mais est ce que ca ne pourrait pas venir du fait que "var" est une chaine de caractere et non pas un entier ?
Marsh Posté le 27-02-2006 à 15:58:36
tu as raison, si je met directement 'var = 10' je sors au bout de 10 fois
mais je ne sais pas comment déclarer une variable en entier
ça ne fonctionne pas de la façon 'dim var as integer'
je vais chercher ça
merci pour le coup de pouces ! ^_^
Marsh Posté le 27-02-2006 à 16:52:31
trouvé !
cumul = 0
var = InputBox("nb","nb","5" )
nb = Int(var)
Do until nb = cumul
cumul = cumul + 1
WScript.Echo nb & " " & cumul
If nb = cumul Then
Exit Do
End If
Loop
c'etait le int !!!
Marsh Posté le 27-02-2006 à 18:36:04
salut anthony
si tu mets un do until il n'est pas utile de mettre un if pour tester si tu dois sortir de ta boucle...
Pour une boucle avec incrementation utiliser un for serait peut-être plus judicieux ...
Code :
|
@+
Marsh Posté le 28-02-2006 à 09:06:57
hello !
c'est vrai que je ne fais pas tout pour l'optimisation.
(et j'ai complètement oublié le for)
je verrais quand à la proposition que tu me donnes.
merci !
Marsh Posté le 27-02-2006 à 15:48:04
J'ai encore un souci !
j'ai déjà utilisé la boucle do loop, avec until et while sans que ça me pose problème.
mais maintenant depuis un petit moment déjà, je n'arrive pas à sortir de la boucle.
juste pour tester, j'ai pris un script deja fait, il fonctionne :
var = InputBox("nb","nb","5" ) '(j'ai rajouté cette ligne pour mettre var a la place de 10)
Check = True: Counter = 0 ' Initialise les variables.
Do ' Boucle externe.
Do While Counter < 20 ' Boucle interne.
Counter = Counter + 1 ' Incrémente le compteur.
WScript.Echo counter
If Counter = var Then ' Si la condition vaut True...
Check = False ' Affecte la valeur False à l'indicateur.
Exit Do ' Quitte la boucle interne.
End If
Loop
Loop Until Check = False
avec 10 a la place de var, je pouvais sortir de la boucle, mais dès que je met une variable à sa place il n'en fini pas de m'afficher la suite des nombres, et meme au dela de 20
meme avec les lignes que j'avais faites, ça ne marche pas :
cumul = 0
var = InputBox("nb","nb","5" )
Do until var = cumul
WScript.Echo var & " " & cumul
cumul = cumul + 1
If var = cumul Then
Exit Do
End If
Loop
normalement, ça devrait me sortir de la boucle au bout de 5 passages.
en plus je met un IF qui fait un EXIT DO quand la variable est egale au ce qu'on a saisi
Message édité par anthony0000 le 27-02-2006 à 16:53:02