[RESOLU] VBA - Boucler sur une colonne de façon dynamique (Avec insertion de lignes)

  • Initiateur de la discussion Initiateur de la discussion sokalbr
  • 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 !

sokalbr

XLDnaute Nouveau
Bonjour la communauté,

J'ai réalisé une petite macro me permettant de parcourir toutes les cellules d'une colonne, et en fonction du résultat, je duplique ou non la ligne :

Code:
Dim i As Long
For i = 2 To Sheets("CPT195").Range("C65000").End(xlUp).Row
Range("I" & i) = "G"
    If Left(Range("C" & i).Value, 1) = 2 Or Left(Range("C" & i).Value, 1) = 4 Then  'Si compte 2 ou 4 on supprime analytique
        Range("J" & i) = ""
    ElseIf (Left(Range("C" & i).Value, 1) = 6 Or Left(Range("C" & i).Value, 1) = 7) And Range("J" & i) <> "" Then 'Si compte 6 ou 7 avec analytique on duplique + autres
        Range("I" & i) = "G"
        Rows(i).Select
        Selection.Copy
        Selection.Insert Shift:=xlDown
        Range("J" & i) = ""
        i = i + 1
        Range("I" & i) = "A"
    Else
        Range("J" & i) = ""
    End If
Next i

Le soucis c'est que ma macro s'arrête en plein milieu puisque le nombre de ligne a augmenté (j'ai mis beaucoup de temps à comprendre la source du problème).

Auriez-vous une idée pour boucler sur une colonne tout en prenant en compte les lignes rajoutées durant l’exécution de la macro ?

Vous en remerciant d'avance,

Valentin
 
Dernière édition:
Re : VBA - Boucler sur une colonne de façon dynamique (Avec insertion de lignes)

Bonjour Eric,

Effectivement cela fonctionne, merci pour l'astuce ! Par contre c'est beaucoup plus long que la méthode précédente (on dirait qu'il a du mal à insérer les lignes).
Du coup si jamais une autre idée se présente je suis preneur 🙂

Valentin
 
Re : VBA - Boucler sur une colonne de façon dynamique (Avec insertion de lignes)

Bonjour Eric, Bonjour tout le monde,

Finalement en rajoutant ce petit bout de code avant ma boucle "Application.ScreenUpdating = False" ça s’exécute très rapidement !!

Merci à toi donc je considère comme résolu 🙂

A bientôt,

Valentin
 
Re : [RESOLU] VBA - Boucler sur une colonne de façon dynamique (Avec insertion de lig

Bonjour

j'en étais là aussi mais mon portable étant quelquefois lent, mes mesures de temps variaient énormément

remets le à true à la fin, c'est plus propre
 
- 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
3
Affichages
582
Réponses
0
Affichages
459
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
Réponses
7
Affichages
795
Retour