Suppression de 2 lignes sous conditions
Bonjour,
je souhaite supprimer 2 lignes si les 2 cellules en colonne G sont egales.
j'ai bidouiller ca mais ca plante sur ma condition.
With Sheets("EXTRACTION")
DerLign = .Range("A1000").End(xlUp).Row
For i = DerLign To 2 Step -1
If Cells(i, 7) = Cells(i - 1, 7) Then Rows("i:i - 1").Delete
Next
End With
ca bug sur rows("i:i-1").delete
j'ai fait une erreur de syntaxe ou il faut faire autrement ?
Merci de votre aide.
je souhaite supprimer 2 lignes si les 2 cellules en colonne G sont egales.
j'ai bidouiller ca mais ca plante sur ma condition.
With Sheets("EXTRACTION")
DerLign = .Range("A1000").End(xlUp).Row
For i = DerLign To 2 Step -1
If Cells(i, 7) = Cells(i - 1, 7) Then Rows("i:i - 1").Delete
Next
End With
ca bug sur rows("i:i-1").delete
j'ai fait une erreur de syntaxe ou il faut faire autrement ?
Merci de votre aide.
2 réponses
-
Logique, tu demande à excel les rows "i:i-1" mais excel ne connait pas "i" ... seul VBA le connait.
Il faudrait écrire :
rows(Str(i)+":"+Str(i-1))
à la place de rows("i:i-1")-
-
-
-
@gnouxhum... je pense que, en plus du pb de Delete, l'algo est pas bon à la base...
Voici comment j'aurais fait :
With Sheets("EXTRACTION")
i = .Range("A1000").End(xlUp).Row - 1
While i>0
If Cells(i, 7) = Cells(i + 1, 7) Then
Rows(i+1).Delete
Rows(i).Delete
i=i-2
Else
i=i-1
End If
Wend
End With
-
-
ContributeurBonjour
écris plutôtRows(i & ":" & i- 1).Delete
et en début de macrroapplication.screenupdating=false
pour le confort de yeux et pour la rapidité