Question sur une date

Bonjour

Sauriez vous m'expliquer pourquoi l'instruction :

MsgBox Format(Month(Date), "mmmm")

renvoi systématiquement janvier alors que

Month(Date)

est censé renvoyer le numero du mois en cours qui est 7 ?

Merci pour vos réponses .

Bonjour ,

je ne répondre à votre question par contre je peut vous proposer un moyen d’afficher le bon mois

MonthName(Month(Date))

Bonjour

Ce code répondra peut-être à ce que tu veux obtenir :

Sub ladate()
uneDate = Now()
MsgBox Format(uneDate, "mmmm")
End Sub

Trop tard grillé par minanse

Merci infiniment pour vos réponses qui me conviennent parfaitement !

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.

Rechercher des sujets similaires à "question date"