Re : Supprimer une ligne en fonction d'une comparaison de valeurs de colonne
Bonjour zoomix,
Pas certain d'avoir bien compris: il s'agit de supprimer chaque ligne dans laquelle, en colonne G, figure une valeur également présente en colonne H? Si c'est l'inverse, je suppose que tu sauras adapter (si pas, dis-le nous).
Remplace le code de ton module par celui-ci:
VB:
Sub suppr()
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = .Range("G" & Rows.Count).End(xlUp).Row To 1 Step -1
If Application.CountIf(.[H:H], Val(.Cells(i, 7))) Then .Cells(i, 7).EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub
Attention au fait que, dans le cas présent les valeurs en colonne G sont de type texte, tandis qu'en colonne H elles sont numériques (ici aussi, il te faudra peut-être adapter)
Pas certain d'avoir bien compris: il s'agit de supprimer chaque ligne dans laquelle, en colonne G, figure une valeur également présente en colonne H? Si c'est l'inverse, je suppose que tu sauras adapter (si pas, dis-le nous).
Remplace le code de ton module par celui-ci:
VB:
Sub suppr()
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = .Range("G" & Rows.Count).End(xlUp).Row To 1 Step -1
If Application.CountIf(.[H:H], Val(.Cells(i, 7))) Then .Cells(i, 7).EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub
Attention au fait que, dans le cas présent les valeurs en colonne G sont de type texte, tandis qu'en colonne H elles sont numériques (ici aussi, il te faudra peut-être adapter)
C'est presque ca , j'ai testé et ca supprime la ligne mais uniquement quand la valeur H est sur la meme ligne que G
pourtant tu as bien compris le problème et je vois que dans le code il est bien noté "H:H" .
Donc il faudrait supprimer la ligne pour laquelle ca valeur en G est présente n'importe où en colonne H
Je vais essayer de trouver le problème ..mais tu as une solution