Et bien pour moi ca marche...
6 fois pour Test1 et 6 fois pour test2
Donc bizarre... peut etre un bug corrigé sur ma version VB6 SP5
JPA
Pour la clarté de ton code, il est bon d'avoir une règle de nommage pour les variables. C'est plus long à écrire mais plus facile à lire. Moi j'utilise une adaptation perso de la notation hongroise qui donne qq chose du genre :
IntVar pour un entier court
LongVar pour un entier long
StrVar pour une chaine de caractères
RealVar pour un réel
etc etc, à adapter à chaque logiciel de développement.
C'était juste pour répondre au fait que tu avais une variable nommée Pas !!!
HelloWorld
hehe ... j'ai justement une variable PAS ;)
en fait j'ai une bidouille de ce genre, liée à MAX que je bidouille plus haut ...
je voulais surtout savoir pkoi VB il peut pas ...
merci bien les gars
JPA
Tu fais :
For i = 0 To MAX+PAS/2 Step PAS
MsgBox("Test2" ) Next i
et ça devrait marcher !!!
HelloWorld
j'ai VB5 ... sans SP ...
HelloWorld
:cry:
le probleme c'est que ce source proviens d'un test que j'ai réalisé.
dans mon code c'est pas 0.5 que j'ai, mais une variable ...
je suis dans la m***e alors ...
thegti
Tu dois pas être avec le dernier service pack
car j'ai essayé et j'ai bien 2 fois 6 messages
Je suis en SP4
verdoux
Oui, sans doute que:
0.1 + 0.1 + 0.1 + 0.1 + 0.1 > 0.5
Remplace le 0.5 par 0.51.
_GrEgY_
fin meme si ca marche...
qd tu utilises de nombres réels faut tjs avoir à l'esprit que ce ne sont pas des nombres "ronds"
autrement dit tu as un step de 0.1 mais en réalité tu as un step de 0.10000001 'fin un truc du genre... et c'est de la que pourrait provenir ton erreur
_GrEgY_
t'es sur que ca marche les boucles For avec des nombres qui ne sont pas des entiers???
personnellement j'ai jamais vu ca...
HelloWorld
p****n je comprenais pas l'erreur dans mon algo et elle vient de la maniere tordue dont fonctionne le for ... next :
Code :
Dim i As Double
For i = 0 To 5 Step 1
MsgBox("Test1" )
Next i
For i = 0 To 0.5 Step 0.1
MsgBox("Test2" )
Next i
il est écrit dans l'aide :
"condition d'éxecution de la boucle : si le pas est positif, counter <= end"
ici counter c'est i et end c'est soit 5 soit 0.5
et ... Test1 s'affiche 6 fois : normal
mais Test2 s'affiche 5 fois : pourquoi ? :gun: :fou: :fou: :pt1cable: