1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub LaMacro()
Dim FL1 As Worksheet
Dim Valeur As Variant, c As Range
Dim NoLigne As Long, DerLig As Long
Set FL1 = Worksheets("Feuil1")
NoLigne = 1
Do
If Not Cells(NoLigne, 1) = "" Then
Valeur = Cells(NoLigne, 1)
Do
With FL1.Range("A" & NoLigne + 1, [A65536].End(xlUp))
DerLig = 0
Set c = .Find(Valeur, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
If c.Row > NoLigne Then
DerLig = c.Row
c.EntireRow.Delete
End If
End If
Set c = Nothing
End With
Loop While DerLig > NoLigne
Else
'Idée 2 - Option 3 : Pour conserver les lignes vides, supprimer tout le Else
'Idée 2 - Option 1 -> Condition pour ne supprimer que les lignes entièrement vides
If FL1.Range("IV" & NoLigne).End(xlToLeft).Column = 1 And _
FL1.Cells(NoLigne, 1) = "" Then
'Idée 2 - Option 2 : Pour supprimer ttes les lignes dont la colonne A est vide,
'supprimer la condition ci-dessus
FL1.Rows(NoLigne).Delete
NoLigne = NoLigne - 1
End If
End If
NoLigne = NoLigne + 1
Loop While NoLigne < FL1.Range("A65536").End(xlUp).Row
End Sub |