Suppresion lignes si valeur non comprise entre 2 dates

Daider28

XLDnaute Nouveau
Bonjour,

Je veux supprimer des lignes dont la cellule de la premiére colonne qui contient une date JJ/MM/AAAA n'est pas comprise entre 2 dates qui ont été saisies via une inputbox.

La macro semble bien fonctionner mais il y a un souci comme dans l'exemple ci-dessous:
date de debut = 23/03/2009 et date de fin= 30/03/2009
Si dans le tableau il y a la date du 26/04/2009, elle n'est pas effacée

Voici le code que j'utilise :

'Selectionne des dates à conserver
datedeb = InputBox("Saisir la date de DEBUT ", "XX/XX/XXXX")
datefin = InputBox("Saisir la date de FIN", "XX/XX/XXXX")

'Efface les lignes hors date
For i = 500 To 1 Step -1
If Cells(i, 1).Value < datedeb Or Cells(i, 1) > datefin Then
Rows(i).Delete shift:=xlUp
End If
Next i


Je ne vois pas comment résoudre ce probléme.
Merci d'avance pour votre aide !!!
 

Excel-lent

XLDnaute Barbatruc
Re : Suppresion lignes si valeur non comprise entre 2 dates

Bonsoir et bienvenu sur le forum Daider28,

A tester, mais je suis quasi persuadé que ton soucis est dû à un problème de format de date!

Certaines fonctions renvoient un format américain et d'autre français!

Bonne soirée
 

vbacrumble

XLDnaute Accro
Re : Suppresion lignes si valeur non comprise entre 2 dates

Bonsoir tous

Et en modifiant ainsi ?
Code:
For i = 500 To 1 Step -1
If Not Cells(i, 1).Value >= datedeb And Cells(i, 1) <= datefin Then
Rows(i).Delete shift:=xlUp
End If
Next i
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Suppresion lignes si valeur non comprise entre 2 dates

Bonsoir,

Essaie comme ceci :

Sub Test()
'Selectionne des dates à conserver
datedeb = InputBox("Saisir la date de DEBUT ", "XX/XX/XXXX")
datefin = InputBox("Saisir la date de FIN", "XX/XX/XXXX")

'Efface les lignes hors date
For i = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value < DateValue(datedeb) Or Cells(i, 1) > DateValue(datefin) Then Rows(i).Delete shift:=xlUp
Next i
End Sub
 

Daider28

XLDnaute Nouveau
Re : Suppresion lignes si valeur non comprise entre 2 dates

Il y avait bien un probléme sur le format, il a fallu que je force le format à mm/dd/yy et que j'utilise la formule de Catrice avec DateValue(datedeb)...

Merci beaucoup pour votre aide à tous à une heure si tardive !!
 

Discussions similaires

Statistiques des forums

Discussions
312 563
Messages
2 089 681
Membres
104 252
dernier inscrit
dbsromaric