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
-
Eaheru
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
14950
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 janvier 2020
1209
Bonjour,

Ben oui, mais nous ne savons pas qui est toto ????
Eaheru
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
6941
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1099
Bonjour,

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

lasti = Range("A" & Rows.Count).End(xlUp).Row
est suppose faire le +1 a chaque ajout de ligne
Eaheru
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
f894009
Messages postés
14950
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 janvier 2020
1209
Re,

il faudrait mettre votre fichier a dispo sur http://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.