Supprimer ligne contenant valeur

Hello le forum,

J'ai besoin de votre aide...

En VBA, quel formule me permettrait de supprimer dans ma Feuil1 la ligne entière de mon tableau dont la cellule en colonne A est égale à la valeur de la cellule Z17 de ma Feuil2

(Supprimer et non pas effacer afin qu'il n'y ai pas de trou dans mon tableau)

Merci par avance

Bonjour

A main levée

A toi de définir Lg

  If Sheets("Feuil1").Range("A" & lg) = Sheets("Feuil2").Range("Z17") Then Sheets("Feuil1").Rows(lg).Delete

Salut BrunoDS78, Banzai64 et le forum

Juste une remarque en passant : si tu supprimes ta ligne dans une boucle, il faut tenir compte de 3 possibilités :

  • Tu sorts juste derrière
  • Ta boucle incrémente les lignes, et il faut compenser l'augmentation pour re-tester le même numéro de ligne : si tu supprimes la ligne 10, la ligne 11 est renommée 10, et si tu va tester la 11, la 10 n'a jamais été contrôlée.
  • Ta boucle décrémente les lignes et donc la suppression de ligne n'interfère pas dans la boucle.
A+

Bonjour

Gorfael, Banzaï a bien précisé :

Banzai64 a écrit :

A toi de définir Lg

Ce qui donne :

Sub SupprimeLigne()
Application.ScreenUpdating = False
Dim Lg As Integer

For Lg = ActiveSheet.UsedRange.Rows.Count To 2 Step -1

If Sheets("Feuil1").Range("A" & Lg) = Sheets("Feuil2").Range("Z17") _
Then Sheets("Feuil1").Rows(Lg).Delete

Next Lg

End Sub

Amicalement

Nad

Rechercher des sujets similaires à "supprimer ligne contenant valeur"