Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

plage mouvante en vba

  • Initiateur de la discussion Initiateur de la discussion denisR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

denisR

XLDnaute Nouveau
Bonjour

Voilà mon probleme
j'ai une boucle FOR...NEXT
cette boucle insere des lignes dans un tableau
la condition finale se modifie donc au fur et à mesure de l'avancement du tableau mais le FOR NEXT ne se modifie pas
exemple ci dessous

For numligne = 2 To Lastli 'boucle pour toutes les lignes
Lastli = Range("a2").End(xlDown).Row 'recalcule nouvelle longueur du tableau
If Range("AB" & numligne).Value = "LAST" Then 'teste valeur cellule
Range(Rows(numligne + 1), Rows(numligne + 1)).Select 'insere une ligne
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
Next numligne

dans le code ci dessus comme j'insere des lignes je pensais recalculer dans ma boucle la valeur de lastli
mais ceci ne fonctionne pas

quelqu'un aurait il une idée ?

merci de votre aide

cordialement

D.ROUSSEL
 
Bonjour à tous
Denis , dans ta boucle lors de ta condition si elle s'avère , tu fais un "exit for" après avoir inséré ta ligne,
ensuite après le next tu recalcules ta lastli ( sous un autre nom) et tu compares à celle du début
si # tu reviens au début ( par un goto avec label) et tu assignes ton lastli à la nouvelle valeur
ex: derlig =Range("a2").End(xlDown).Row ,
if derlig <> lastli then goto deb
'retour au début
deb:
lastli= derlig
A toi d'adapter
 
Bonjour.
Pouvez vous essayer ça :
VB:
Dim L As Long
For L = Range("A2").End(xlDown).Row To 2 Step -1
   If Cells(L, "AB").Value = "LAST" Then
      Rows(L + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
      End If
   Next L
 
Merci dranreb
cela fonctionne bien
en effet passer en revue toutes les lignes en partant de la fin permet de contourner l'augmentation du nombre de lignes
Mais comment ne pas y avoir pensé : suis je bete !
Merci encore pour votre contribution
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
828
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…