Pb de filtre sur Date

Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Je n'arrive pas à filtrer sur une colonne contenant des dates. Mon code est :
If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5").AutoFilter Field:=6, Criteria1:=Date

Lorsque je lance ce genre de code rien ne se passe.

J'ai fait un test :
If ActiveSheet.Range("F7").Value = "06/06/2014" Then
MsgBox "Ok"
Else
MsgBox "KO"
End If

Le résultat du test est "Ok"

et donc même en mettant :
If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5").AutoFilter Field:=6, Criteria1:="06/06/2014"
ou bien
If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5").AutoFilter Field:=6, Criteria1:="06/06/2014 00:00:00"

Rien ne se passe.
Pouvez-vous m'aider sur le sujet ?

Merci d'avance.
A voir également:

5 réponses

Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour f894009,

Merci pour ta réponse cependant en essayant ta fornule comme ceci :
If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5:A3050").AutoFilter Field:=6, Criteria1:="=" & CDate(Date)

Rien ne se passe je filtre dans le vent :/

Et je n'arrive pas à réellement savoir d'où provient le problème !

Michael
1
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Le filtre doit se faire sur une plage de cellules et pour les dates, petite astuce

ex: ActiveSheet.Range("A5:F20").AutoFilter Field:=6, Criteria1:="=" & CDate(Date)

A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Ben tout a fait normal, vu que vous filtrez que sur une seule colonne, il faut mettre:

ActiveSheet.Range("A5:A3050").AutoFilter Field:=1, Criteria1:="=" & CDate(Date) 

Dans mon exemple, il y a 6 colonnes et le filtre est sur la sixieme d'ou: Field:=6
0
Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
Non mais mon code est bon car je filtre bien sur la colonne voulu.
J'ai même essayé :

If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5:F3050").AutoFilter Field:=6, Criteria1:="=" & CDate(Date)

Mais rien ne se passe :/

Mon but est bien de filtrer sur la 6ème colonne ;)

Merci
0
Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

J'ai trouvé d'où provenait le problème.
Les dates sur la feuille excel était écrite en date longue "lundi 2 juin 2014" en les faisant passer en date courte "02/06/2014" mon filtre a fonctionné ;)

Mais j'aimerai garder l'affichage en date longue sur la feuille excel

comment dois-je écrire mon code afin que la correspondance se fasse ?

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mik-L Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

en faite je m'auto répond lol mais je vous fait partager en même tps la solution à mon problème.

Pour avoir un filtre qui fonctionne sur des dates longues il suffit d'écrire :

If ActiveSheet.Name = "Planning" Then
ActiveSheet.Range("A5").AutoFilter Field:=6, Criteria1:=Format(Date, "Long Date")

Le filtre fonctionne parfaitement.

Enjoy
Michael
0