XL 2010 [RESOLU] VBA et Insertion de ligne avec condition

con6767

XLDnaute Nouveau
Bonjour,

J'ai récupéré , sur un autre site internet, une macro, que j'ai essayé d'adapter, dans le but d'insérer automatiquement 1 ligne lorsque une valeur d'une colonne particulière est supérieur à un chiffre ( en l'occurence 4 )

VB:
Sub InsertLignes()
''Macros par Claude Dubois pour "Kirikou" Excel-Pratique le 17 Nov 09
Dim Lg As Long, i As Long
    Lg = Range("A65536").End(xlUp).Row
    Application.CutCopyMode = False
        For i = Lg To 2 Step -1
            If Range("c" & i - 1) <> Range("c" & i) Then
                Range(Range("c" & i), Range("c" & i + 4)).EntireRow.Insert
            End If
        Next i
    Range(Range("c2"), Range("c2").End(xlDown).Offset(-1, 0)).EntireRow.Delete
End Sub

Je suis loin d'être un expert en macro d'où ma demande d'aide. La macro fonctionne bien sauf qu'au passage elle me supprime des lignes également.

UNE IDEE ?
 

Pièces jointes

  • Copie de Classeur1.xlsm
    15.4 KB · Affichages: 8
Solution
Bonjour Con6767 (?!...) et bienvenu, bonjour le forum,

Essaie comme ça :

VB:
Sub InsertLignes()
Dim Lg As Long, i As Long

Lg = Cells(Application.Rows.Count, "A").End(xlUp).Row
For i = Lg To 2 Step -1
    If Cells(i, "C") > 4 Then Rows(i + 1).Insert
Next i
End Sub

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Con6767 (?!...) et bienvenu, bonjour le forum,

Essaie comme ça :

VB:
Sub InsertLignes()
Dim Lg As Long, i As Long

Lg = Cells(Application.Rows.Count, "A").End(xlUp).Row
For i = Lg To 2 Step -1
    If Cells(i, "C") > 4 Then Rows(i + 1).Insert
Next i
End Sub
 

Discussions similaires

Réponses
14
Affichages
638
Réponses
0
Affichages
137

Statistiques des forums

Discussions
312 107
Messages
2 085 360
Membres
102 874
dernier inscrit
Petro2611