Bonjour à tous,

Je me trouve devant un problème dont je ne comprends pas l'origine.
Voila je fais une petite application sur Excel avec du code VBA.
Sur cette application je laisse deux cellules pour que l'utilisateur puisse saisir deux dates.
Puis l'utilisateur va cliquer sur un bouton. Sur ce, je vais exécuter ma procédure qui va filtrer un tableau qui se trouve sur un auter onglet.

J'applique mon filtre sur les deux dates données par l'utilisateur
Voila le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Selection.AutoFilter Field:=17, Criteria1:="<" & date_fin, Operator:=xlAnd _
 , Criteria2:=">" & date_deb
Bon déjà là petit souci, lorsque la date commence par 0 (exemple 01/12/06). Lors de l'exécution du filtre, la date est remplacé par Excel en 12/01/06.
Je précise que j'ai mis les cellules où l'utilisateur saisie les dates au format date " *jj/mm/aaaa ".

Pour pallier ce premier problème, j'ai mis ce petit bout de code, qui peut sans d'outre être amélioré :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
If (Left(date_deb, 1) = "0") Then
    mois_an = Right(date_deb, 7)
    mois = Left(mois_an, 2)
    date_deb = mois + "/" + Left(date_deb, 3) + Right(date_deb, 4)
End If
If (Left(date_fin, 1) = "0") Then
    mois_an = Right(date_fin, 7)
    mois = Left(mois_an, 2)
    date_fin = mois + "/" + Left(date_fin, 3) + Right(date_fin, 4)
End If
Puis je relance mon filtre, là les critères sont correctes mais le filtre ne me renvoie rien. Pourtant lorsque je termine l'exécution de ma procédure, je vais dans le champs où j'effectue mon filtre. Je fais personnalisé, mes critères sont correctes. Le plus drôle c'est lorsque je mets Ok pour sortir du filtre personnalisé, celui-ci s'effectue.

Je sais pas si vous avez une idée pour résoudre ce problème mais toutes propositions sont les biens venues.