Bonjour Tigrous, bonjour Jacques et merci d'avoir répondu.
J'ai essayé ta soluce mais je n'arrête pas d'avoir des messages de débogage, peu être que je m'y prend mal car je débute sur les userform et les bouquins sont pas très clairs sur les combobox.
Sinon, Jacques, je vais essayé d'être plus clair
J'ai une feuille nommée Listes ou j'ai mis des dates du 01 mars 2003 au 31 décembre 2016, j'ai nommé la plage "Jours"
J'ai créé un userform avec plusieurs combobox dont un combobox où je devrais choisir une date et que j'ai nommé "DateDachat" dans Propriété j'ai mis à la ligne RowSource : Jours
Derrière le combobox j'ai mis ce code :
Private Sub DateDachat_Change()
DateDachat.Value = Format(DateDachat, "dd mmm yyyy")
End Sub
C'est le seul code que j'ai trouvé pour l'instant qui me permette de lire correctement la date comme elle se présente dans la feuille Listes si je mets des jj ou des aa, je les retrouve dans mon userform, j'ai essayé d'autres moyens et dans mon userform je me retrouve avec la date transformée en nombre et ce n'est pas ce que je veux.
Mon Userform ou formulaire est ensuite relié à une feuille nommée "Données" j'ai mis le même format de date dans la colonne H "Date D'achat" que dans la feuille Liste. Donc quand je choisis ma date dans le formulaire et que je valide la date se met automatiquement dans la colonne H. Jusque là tout va bien mais mon but est de trier ma colonne H par ordre croissant et décroissant afin de connaître mes derniers achats. Or là est le problème, le tri se fait comme si la date était du texte, il se fait suivant le jour et non par la date entière. Il trie 0, 1, 2, 3, 4...et ne s'occupe pas des mois ni des années, et donc voilà ce que j'ai si je trie par ordre croissant :
01 décembre 2006
02 mars 2004
10 janvier 2007
20 avril 2005
J'espère que c'est un peu plus clair comme ça.
A+ et bon courage car je suppose que vous aussi vous cogitez sur d'autres problèmes !
Pascal