VBA supprime ligne si date<aujourd'hui
Résolu
tchernosplif
Messages postés
600
Date d'inscription
Statut
Membre
Dernière intervention
-
tchernosplif Messages postés 600 Date d'inscription Statut Membre Dernière intervention -
tchernosplif Messages postés 600 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pourriez-vous m'aider à écrire une macro qui supprimerait une/des ligne(s) si la date en colonne D est inférieur à aujourd'hui?
(chaque ligne aura une date en colonne D)
Merci d'avance pour votre aide précieuse.
Pourriez-vous m'aider à écrire une macro qui supprimerait une/des ligne(s) si la date en colonne D est inférieur à aujourd'hui?
(chaque ligne aura une date en colonne D)
Merci d'avance pour votre aide précieuse.
3 réponses
Bonjour,
eric
PS : quand tu supprimes une ligne toujours boucler en partant du bas sinon chaque ligne suivant une ligne supprimée n'est pas testée.
Sub suppLig() Dim lig As Long For lig = [D65536].End(xlUp).Row To 1 Step -1 If IsDate(Cells(lig, 4)) And Cells(lig, 4) < Date Then Rows(lig).Delete Next lig End Sub
eric
PS : quand tu supprimes une ligne toujours boucler en partant du bas sinon chaque ligne suivant une ligne supprimée n'est pas testée.
Je n'avais pas précisé qu'il pourrait y avoir des lignes vides et la seule façon que j'ai trouvé pour éviter de bloquer sur une ligne vide est d'appeler plusieurs fois d'affilé la macro "Test" . C'est de la grosse bidouille , mais ça fonctionne. (je suis preneur d'une solution plus élégante)
Sub Test()
For i = 1 To 100
If Range("A" & i).Value < Now And Range("A" & i).Value <> "" Then
Rows(i).Delete
Else
End If
Next i
End Sub
Private Sub CommandButton1_Click()
Test
Test
Test
Test
End Sub
Merci pour ton aide
Sub Test()
For i = 1 To 100
If Range("A" & i).Value < Now And Range("A" & i).Value <> "" Then
Rows(i).Delete
Else
End If
Next i
End Sub
Private Sub CommandButton1_Click()
Test
Test
Test
Test
End Sub
Merci pour ton aide
Merci beaucoup eriiic