Suppresion lignes si valeur non comprise entre 2 dates

  • Initiateur de la discussion Initiateur de la discussion Daider28
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !!!
 
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
 
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:
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
 
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 !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
696
Retour