Bonjour,
MsgBox Format(Month(Date), "mmmm")
Month(Date) renvoie le numéro du mois de la date du jour. Nous sommes le 20 juillet, donc cette expression va renvoyer : 7
Tu écris donc : Format(7, "mmmm"), c'est à dire que tu veux afficher le nom entier du mois de la date ayant le numéro de série 7 !
Or, dans Excel, les dates sont identifiées par des numéros de série débutant à 1, qui correspond au 1er janvier 1900. Dans Excel donc la date 7 correspondrait au 7 janvier 1900...
Mais tu opères en VBA ! En VBA, également, les dates sont identifiées par des numéros de série mais si la correspondance entre Excel et VBA est assurée à partir du 1er mars 1900, elle ne l'est pas pour les dates antérieures (Excel considère valide le 29 février 1900, date inexistante ! que VBA à juste titre ne reconnait pas, le numéro 1 en VBA est donc le 31 décembre 1899 et VBA reconnait les dates antérieures en acceptant des numéros de série négatif [jusqu'en l'an 100 en calendrier grégorien proleptique].
Donc, ton 7 est le 6 janvier 1900 pour VBA, et il est normal que ton expression renvoie Janvier !
Cordialement.