Boucle for, condition arrêt variable [Résolu]

Signaler
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012
-
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
-
Bonjour à tous,

Je débute en VB et ya une chose que je ne comprends vraiment pas :

lorsque j'exécute le code suivant :

Dim nbLignes As Long
Dim i As Long

nbLignes = 10
For i = 0 To nbLignes
    ......
    modification de nbLignes parfois
    ......
Next i

Le programme ne boucle que 10 fois sans tenir compte des modifications sur nbLignes !

Quelqu'un aurait-il un élément de réponse ??

Merci d'avance

7 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
la clause terminale d'une boucle For est calculée une fois, au début...

utilises une boucle Do While...

Dim nbLignes As Long
Dim i As Long

nbLignes = 10
Do Until i = nbLignes
    ......
    modification de nbLignes parfois
    ......
    i++
Loop

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Je devine (malgré toi)...

Alors :

Si tu supprimes des lignes en chemin :
Commence alors par le bas pour remonter vers le haut (avec step -1).
Si par contre tu en ajoutes :
Il va falloir penser à autre chose qu'une boucle For...to...

Sois précis si tu veux une réponse précise.
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

J'ai mis une boucle While.
Normalement le for est une boucle while, mais pas en VB apparament...
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

Je supprime et j'ajoute... :)

++ existe en VB wouhahaa
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

Ah ben non, ça existe pas... ou alors je sais pas taper...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
j'ignore si ca existe ou pas en .Net, je pensais que si...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Pas de ++ en VB.NET, mais du +=, -=, etc...