Filtrer des dates

cs_JULES60 Messages postés 17 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 4 janvier 2007 - 29 déc. 2006 à 17:05
cs_Julien V Messages postés 3 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 29 août 2007 - 26 janv. 2007 à 13:11
Bonjour,

Voilà une semaine que je suis bloquée sur un problème de filtre....

Alors voilà .... j'ai un input box dans lequel je rentre une date ...format *JJ/MM/2006

A partir de cette valeur je dois effectuer un filtre .... dans une colonne où il y a plein de date ...
Donc exemple input box 30/11/2006 >>>>> Filtre dans excel toute les lignes avec pour date 30/11/2006

Pour le moment je procéde comme cela
Dim rep As String
debut:
rep = InputBox("De la date :", "Date")

Sheets("XX)").Select
Range("D4") = rep
 
Worksheets("XX").Range("A1").AutoFilter _
    Field:=2, _
Criteria1:=Worksheets("XX").Range("D4").Value

ET CELA NE MARCHE PAS !!!!!!!! J'ai bien vérifier que les formats de la cellules D4 et de la colonne Date sont identiques ....! Et c'est le cas !! Et pourtant cela ne fonctionne pas ... !
J'ai réussi à faire un filtre de cette façon avec un format texte !! Alors pourquoi cela ne marche pas avec un format date ... je ne comprend pas !!!
Même le format de l'input box est configurer pareil que le reste !!!

Aider moi SVP je vais  !!

Merci d'avance  !!

Merci Jules  !!

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 déc. 2006 à 17:38
Salut,

essaie peut-être d'utiliser l'instruction Format, comme ceci :

Worksheets("XX").Range("A1").AutoFilter _
    Field:=2, _
Criteria1:=Format(Worksheets("XX").Range("D4").Value, "DD/MM/YYYY")

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
cs_JULES60 Messages postés 17 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 4 janvier 2007
2 janv. 2007 à 09:20
Il reconnait la date que je lui soumet car lorsque je vais dans la liste déroulante le curseur est positionné sur la date choisie.... cependant la sélection de s'affiche pas à l'écran. Il semblerai qu'il n'arrive pas à faire OK une fois la selection effectuéee... J'ai essayer de mettre activate ou select à la fin du critère de sélection au lieu de value ...sans succés !

En tout cas le format ne change rien à mon problème ! C'est à ne rien y comprendre !

Merrci Jules
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 janv. 2007 à 20:10
Si tu sélectionnes une cellule avec une date, est-ce que la barre de formule affiche le même format ?

Chez moi, une cellule de format date affiche dans la cellule 23-10-2006
Par contre, la barre de formule affiche 2006-10-23

MPi
0
cs_JULES60 Messages postés 17 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 4 janvier 2007
3 janv. 2007 à 14:12
Oui c'est pareil ... dans la cellule, dans le input box et aussi dans la liste déroulante du filtre ....

Donc je crois qu'il y a de quoi devenir chèvre ...lol ...

En tout cas j'aimerai bien une explication ... car cela fait maintenant presque deux semaines que je n'arrive pas à faire cela ...

Merci Jules
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 janv. 2007 à 00:20
Tu as tout à fait raison concernant les dates et la chèvre... ¦¬)

Je ne sais pas si c'est possible pour toi, mais tu pourrais intégrer une autre colonne et faire le filtre sur celle-ci.
Dans cette colonne, tu copies une formule de concaténation comme celle-ci
=ANNEE(A1) & MOIS(A1) & JOUR(A1) ' changer A1 pour la bonne cellule

et dans ton code, tu filtres sur le même principe
    Dim Rep As String
   
    Rep = InputBox("Entrez la date")
    Rep = Year(Rep) & Month(Rep) & Day(Rep)
   
    Rows(1).AutoFilter Field:=2, Criteria1:=Rep

Et là, il reste encore le problème de celui qui est entre le clavier et la chaise... Il faut qu'il entre le bon format de date pour que Year, Month et Day soient respectés ...

De plus, en ayant une colonne sur ce format, il est facile de faire un tri, sachant que l'année est le premier critère de tri, puis le mois et ensuite le jour. Préférablement, il faudrait utiliser des jours et des mois à 2 chiffres et l'année à 4 chiffres.

MPi
0
cs_JULES60 Messages postés 17 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 4 janvier 2007
4 janv. 2007 à 15:59
Bêêêêêê !!! Et voilà je suis une chèvre !!

J'ai appliqué la formule et cela ne fonctionne toujours pas !!

Maintenant ça passe en liste déroulante personnalisée et il n'affiche toujours pas le filtre....

Vraiment je crois que je vais changer de méthode et puis c'est tout !!!

Merci Jules
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 janv. 2007 à 20:45
Sur la feuille Excel, est-ce que la formule retourne bien les bonnes valeurs, c'est-à-dire
AAAMMJJ

Si oui, vérifie avec un msgbox ce contient Rep après la ligne
Rep = Year(Rep) & Month(Rep) & Day(Rep)

Si le Msgbox affiche le même format que dans la feuille, ça devrait fonctionner.

Attention que dans les 2 cas le nombre de chiffres pour le mois ou le jour soit identique dans les 2 cas

MPi
0
cs_Julien V Messages postés 3 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 29 août 2007
26 janv. 2007 à 13:11
Salut,

Excel ne reconnait que le format de date US pour les filtres, la solution consiste donc à convertir la date avec la fonction Date Serial, et la passer en Long, par exemple :
ThisWorkbook.Worksheets(1).Cells.AutoFilter Field:=38, Criteria1:=">=" & CLng(DateSerial(2006, 5, 28))

Voilà une page de doc sur les filtres de date : http://www.ozgrid.com/VBA/autofilter-vba-dates.htm

++
0
Rejoignez-nous