VBA EXCEL : creer un boucle dont la valeur de fin evolue

Résolu
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -
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 ! :)
A voir également:

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Ben oui, mais nous ne savons pas qui est toto ????
0
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   20
 
:) c'est important ?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Il faut incrémenter
lasti = lasti + 1
à chaque ajout d'une ligne dans la boucle.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

lasti = Range("A" & Rows.Count).End(xlUp).Row
est suppose faire le +1 a chaque ajout de ligne
0
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   20
 
Oui, c'est la fonction de cette ligne effectivement
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

il faudrait mettre votre fichier a dispo sur https://www.cjoint.com/
0
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   20
 
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.
0