Suppression de ligne selon critère

Bonjour à tous,

Sauriez vous m'indiquer comment je pourrais procéder pour supprimer toutes les lignes d'un classeur excel dans lesquelles se trouvent un critère particulier ?

Par exemple, en colonne D j'ai des dates, et j'aimerai supprimer toutes les lignes pour lesquelles la date se trouvant en colonne D est inférieur au 30 avril 2000, par ex ?

Est-ce possible ? Dois-je procéder via une macro ?

Merci beaucoup pour votre précieuse aide !

Thibaut

Bonjour,

Avec un fichier cela aurait été plus facile

Un test avec cette macro commentée

Option Explicit 'Oblige la déclaration des Variables

Sub Sup_Lig()
Dim DLig As Long, i As Long ' Declare la variable Dlig
Application.ScreenUpdating = False 'Empeche le rafraichissement de l'écran
DLig = Sheets("Feuil1").Range("D" & Rows.Count).End(xlUp).Row ' Recherche la Dernière LIGne de la Colonne D
For i = DLig To 2 Step -1 ' Boucle sur les lignes de la Dernière trouvée a la ligne n°2
    If Cells(i, 4) < 36636 Then Rows(i).EntireRow.Delete '36636 est la date 20/04/2000 au format Standard _
    si La cellule est inférieure au 20/04/2000 alors on supprime la ligne
Next i 'Prochaine Ligne
Application.ScreenUpdating = True 'Remet la rafraichissement de l'écran
End Sub

et un Fichier pour test

Bonne Journée

468suplig.zip (17.51 Ko)

Bonjour,

Merci beaucoup pour votre réponse.

Sur votre fichier, votre macro marche parfaitement, en revanche sur le mine ca ne fonctionne pas, je ne sais pas pourquoi. Je vous le joins pour que vous puissiez avoir un aperçu de ce que j'aimerai pouvoir faire.

Merci beaucoup pour votre aide.

Thibaut

258exemple-pb-26-07.xlsx (55.25 Ko)

Re,

Essaye

Option Explicit 'Oblige la déclaration des Variables

Sub Sup_Lig()
Dim DLig As Long, i As Long ' Declare la variable Dlig
Application.ScreenUpdating = False 'Empeche le rafraichissement de l'écran
DLig = Sheets("Feuil1").Range("D" & Rows.Count).End(xlUp).Row ' Recherche la Dernière LIGne de la Colonne D
For i = DLig To 2 Step -1 ' Boucle sur les lignes de la Dernière trouvée a la ligne n°2

 If Cells(i, 4) <> "" And Cells(i, 4) < 40298 Then Rows(i).EntireRow.Delete '40298 est la date 30/04/2010 au format Standard _
    si La cellule n'est pas vide et si la cellule est inférieure au 20/04/2000 alors on supprime la ligne
Next i 'Prochaine Ligne
Application.ScreenUpdating = True 'Remet la rafraichissement de l'écran
End Sub

A ajouter ce qui est surligné

a tester

Bonne journée

Ca marche trés bien ! Merci beaucoup !

Cette macro devrait me servir à plusieurs reprises je pense !

Un grand merci pour votre aide.

A bientôt,

Thibaut

Rechercher des sujets similaires à "suppression ligne critere"