[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 !

S

sokalbr

Guest
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 modification par un modérateur:
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
850
Réponses
0
Affichages
639
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
Réponses
7
Affichages
958
Retour