VBA supprime ligne si date<aujourd'hui
Résolu/Fermé
tchernosplif
Messages postés
600
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
21 juin 2015
-
19 mai 2011 à 14:40
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - 22 mai 2011 à 00:48
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - 22 mai 2011 à 00:48
A voir également:
- Vba si date supérieur à aujourd'hui
- Probleme de reception tnt aujourd'hui 2023 - Guide
- Problème mail orange aujourd'hui 2023 - Guide
- Resultat loto cameroun aujourd'hui ✓ - Forum Excel
- Whatsapp date incorrecte ✓ - Forum Mobile
- Superieur clavier ✓ - Forum Windows 8 / 8.1
3 réponses
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
Modifié par eriiic le 21/05/2011 à 12:59
Modifié par eriiic le 21/05/2011 à 12:59
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.
tchernosplif
Messages postés
600
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
21 juin 2015
244
Modifié par tchernosplif le 21/05/2011 à 04:30
Modifié par tchernosplif le 21/05/2011 à 04:30
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
ed555
Messages postés
61
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
26 octobre 2018
20 mai 2011 à 23:21
20 mai 2011 à 23:21
salut,
le code ci-dessous devrait marcher (à adapter à ton cas particulier) :
Dim la_date As Date
la_date = Sheets(1).Range("A1").Value
If la_date < Now Then
Sheets(1).Range("A2").Value = 1
End If
le code ci-dessous devrait marcher (à adapter à ton cas particulier) :
Dim la_date As Date
la_date = Sheets(1).Range("A1").Value
If la_date < Now Then
Sheets(1).Range("A2").Value = 1
End If
ed555
Messages postés
61
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
26 octobre 2018
20 mai 2011 à 23:21
20 mai 2011 à 23:21
pour supprimer :
Sheets(1).Rows(2).Delete
Sheets(1).Rows(2).Delete
22 mai 2011 à 00:48
Merci beaucoup eriiic