J'ai galéré pendant des heures pour trouver !!!
Il y a une petite astuce pour que ça fonctionne.
Il faut formater la date dans VBA (dd/mm/yyyy) puis la transformer en chiffre via des TextBox de transition
13/05/2007 = 39215 dans VBA et Excel
Dans l'exemple ci dessous, je souhaite filtré ma colonne (n°4 donc D) entre 2 dates :
- date de début = TextBox1 (format dd/mm/yyyy)
- date de fin = TextBox2 (format dd/mm/yyyy)
- date de début = TextBox3 (format numérique)
- date de fin = TextBox4 (format numérique)
Il faut renseigner les TexBox 1 et 2.
Les 3 et 4 ne servent que de transition dans l'UserForm
Voici le code :
'===== DEBUT CHOIX DE LA PERIODE
'fourchette de date
startdate = CDate(Format(TextBox1.Value, "dd/mm/yyyy"))
enddate = CDate(Format(TextBox2.Value, "dd/mm/yyyy"))
'TRANSFORMATION NUMERIQUE DE LA DATE
Dim startdate2 As Single
startdate2 = startdate
TextBox3.Value = startdate2
Dim enddate2 As Single
enddate2 = enddate
TextBox4.Value = enddate2
'LANCEMENT DU FILTRE ============
Selection.AutoFilter Field:=4, Criteria1:=">=" & TextBox3.Value, Operator:=xlAnd, Criteria2:="<=" & TextBox4.Value
'+++++ FIN CHOIX DE LA PERIODE
C'est un peu tiré par les cheveux... Mais ça marche !!!
++
Juan's