VBA EXCEL : creer un boucle dont la valeur de fin evolue [Résolu/Fermé]

Signaler
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
-
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
-
Bonjour,

J'essaie de coder proprement une boucle dont la fin évolue et j'aimerais votre point de vue afin d'avoir un code "propre".

le principe est :

lasti = Range("A" & Rows.Count).End(xlUp).Row

for i=3 to lasti
if toto > 1 then
Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
lasti = Range("A" & Rows.Count).End(xlUp).Row
end if
next i

comme écrit ci dessus j'ai tenté le recalcul dans la boucle après l'insertion d'une ligne, mais ça ne fonctionne pas.
du coup le traitement s'arrête a la valeur de fin de boucle initiale alors que j'ai inséré X lignes ...
Voila, votre aide est la bienvenue ! :)

3 réponses

Messages postés
15378
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 octobre 2020
1 377
Bonjour,

Ben oui, mais nous ne savons pas qui est toto ????
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
:) c'est important ?
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 134
Bonjour,

Il faut incrémenter
lasti = lasti + 1
à chaque ajout d'une ligne dans la boucle.
Messages postés
15378
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 octobre 2020
1 377
Bonjour,

lasti = Range("A" & Rows.Count).End(xlUp).Row
est suppose faire le +1 a chaque ajout de ligne
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
Oui, c'est la fonction de cette ligne effectivement
Messages postés
15378
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 octobre 2020
1 377
Re,

il faudrait mettre votre fichier a dispo sur https://www.cjoint.com/
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
Je reviens sur ce sujet.
Au final j'ai inséré un texte en colonne A 2 lignes sous la dernière ligne initiale et je teste la cellule de la colonne A. Tant que je ne retrouve pas mon texte, c'est que je ne suis pas a la fin du traitement.