Boucle pour
Résolu/Fermé
lekludo
Messages postés
121
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
14 février 2017
-
22 juil. 2010 à 16:14
pampiou Messages postés 20 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 2 octobre 2013 - 22 juil. 2010 à 17:05
pampiou Messages postés 20 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 2 octobre 2013 - 22 juil. 2010 à 17:05
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
22 juil. 2010 à 16:27
22 juil. 2010 à 16:27
à ton avis ?
lekludo
Messages postés
121
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
14 février 2017
1
22 juil. 2010 à 16:29
22 juil. 2010 à 16:29
je connais franchement pas le résultat. Néanmoins je pense que le contenu de i est réinitialisée est-ce vrai?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
22 juil. 2010 à 16:54
22 juil. 2010 à 16:54
pourquoi serait il réinitialisé ?
En plus, là, on parle algorithme. Contrairement à ce que disent les autres, i ne vaut pas forcément 11, ça dépend de la manière de faire la boucle.
En C++, un variable peut être propre à une boucle, donc elle n'a pas de valeur à la sortie de la boucle.
En plus, là, on parle algorithme. Contrairement à ce que disent les autres, i ne vaut pas forcément 11, ça dépend de la manière de faire la boucle.
En C++, un variable peut être propre à une boucle, donc elle n'a pas de valeur à la sortie de la boucle.
pampiou
Messages postés
20
Date d'inscription
mercredi 5 mai 2010
Statut
Membre
Dernière intervention
2 octobre 2013
2
22 juil. 2010 à 16:33
22 juil. 2010 à 16:33
Bonjour,
Ni l'un ni l'autre en fait. Je m'explique.
Ton i varie de 0 à 10 dans ta boucle, ce sont tes valeurs extrêmes. Lorsque tu parcours la boucle la première fois, i vaut 0. A la fin, la programme fait automatiquement i=i(d'avant)+1 puis recommence la boucle. Au final, quand i = 10, tu réalises la boucle puis i=i+1 donc i vaut 11. Le programme compare alors la valeur de i avec les valeurs extrêmes que tu as choisies. 11 étant plus grand que 10, tu sors de la boucle et tu continues le programme.
Ta boucle sera en VB :
For i=0 to 10
'lignes d'instruction
Next
'A partir de là, i=11
J'espère avoir répondu à ta question. A bientôt.
Ni l'un ni l'autre en fait. Je m'explique.
Ton i varie de 0 à 10 dans ta boucle, ce sont tes valeurs extrêmes. Lorsque tu parcours la boucle la première fois, i vaut 0. A la fin, la programme fait automatiquement i=i(d'avant)+1 puis recommence la boucle. Au final, quand i = 10, tu réalises la boucle puis i=i+1 donc i vaut 11. Le programme compare alors la valeur de i avec les valeurs extrêmes que tu as choisies. 11 étant plus grand que 10, tu sors de la boucle et tu continues le programme.
Ta boucle sera en VB :
For i=0 to 10
'lignes d'instruction
Next
'A partir de là, i=11
J'espère avoir répondu à ta question. A bientôt.
MrSlave
Messages postés
2587
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
26 août 2011
146
22 juil. 2010 à 16:37
22 juil. 2010 à 16:37
'A partir de là, i=11
Euh ... si tu affiches i, il vaudra bien 10.
Je crois que je comprend ce que tu veux dire, mais pas vraiment ta façon de le dire. ^^
Euh ... si tu affiches i, il vaudra bien 10.
Je crois que je comprend ce que tu veux dire, mais pas vraiment ta façon de le dire. ^^
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 juil. 2010 à 16:40
22 juil. 2010 à 16:40
Un petit test pour vérifier cela :
La MsgBox est bien située après la boucle et indiques...........
11
CQFD
Sub test() Dim i As Integer For i = 0 To 10 Range("A" & i + 1).Value = i Next MsgBox i End Sub
La MsgBox est bien située après la boucle et indiques...........
11
CQFD
MrSlave
Messages postés
2587
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
26 août 2011
146
Modifié par MrSlave le 22/07/2010 à 16:45
Modifié par MrSlave le 22/07/2010 à 16:45
Autant pour moi.
Je crois que je me suis planté. ^^
Je crois que je me suis planté. ^^
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 juil. 2010 à 16:45
22 juil. 2010 à 16:45
tu parles du : Range("A" & i + 1).Value? Rien à voir... Ca n'est pas cette ligne de code qui incrémente i . L'exemple était mal donné. Prends celui-ci, il n'y a pas de + 1 et on obtient bien 11 à la fin :
Sub test() Dim i As Integer For i = 0 To 10 MsgBox i Next MsgBox i End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 juil. 2010 à 16:55
22 juil. 2010 à 16:55
pas de problème.
Figure toi qu'avant d'essayer je n'était vraiment pas sur du résultat...
Figure toi qu'avant d'essayer je n'était vraiment pas sur du résultat...
lekludo
Messages postés
121
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
14 février 2017
1
22 juil. 2010 à 16:37
22 juil. 2010 à 16:37
merci bien ta réponse ma beaucoup servi je voulais juste savoir si i était a 11 a plus