Après quelques tests, voici mes remarques :
Le paramètre Criteria1 attend une date au format ANGLAIS
Quand tu lui passes une date au format français, il essaie de la convertir : 01/02/2005 ne lui pose pas de problème mais pour lui cela veut dire 2 janvier !
Si tu lui passes 17/03/2005, il transforme cela en 03/17/2005 automatiquement car le mois ne pouvant être égal à 17, aucune ambiguité n'est possible.
Du coup quand il te rend des résultats, il inverse les jours et mois dans le contexte du premier exemple.
Voici la syntaxe à utiliser et qui fonctionne chez moi :
Selection.AutoFilter field:=3, Criteria1:=CDate(Format(lundi, "mm/dd/yyyy" )) |
Il faut donc bien lui passer une date en format anglais comme paramètre, et aussi utiliser la fonction de conversion CDate() si tes cellules Excel sont formatées comme champ de type date.
Message édité par tegu le 23-02-2006 à 13:46:38