Re,
Je t'explique quand même :
Now renvoie une date, donc pas de problème, si tu l'affectes, c'est la bonne date (car c'est un nombre).
Mais en utilisant la fonction Format, tu transformes ta date en texte, ce n'est plus une date...
... et quand VBA met la main sur ce texte, il l'interprète comme représentant une date, et le convertit en date !
C'est là que le bât blesse, car n'ayant pas de directives pour convertir il utilise ses règles propres en l'interprétant en format américain, sauf s'il ne le peut pas (si le jour est supérieur à 12, ce ne peut plus être le mois).
Le même problème est fréquent quand tu affectes une date saisie dans une TextBox, c'est du texte, donc convertible pour VBA. Et on est obligé de le convertir en date avec CDate (ou éventuellement DateValue), car si on lui demande de convertir, VBA va aller chercher les paramètres régionaux du système pour savoir quel est le format texte d'une date pour le système sur lequel il opère avant de la convertir...
Mais dis-toi que même en le sachant, il arrive toujours qu'on se fasse piéger... !
Bonne fin de soirée.