Astuce VBA : formats d'affichage des dates et heures

Voici les principaux caractères utilisables pour définir le format des dates et heures :


CaractèresExempleDescription
d6Jour (numérique sans zéro)
dd06Jour (numérique avec zéro)
dddmar.Jour (texte raccourci)
ddddmardiJour (texte entier)
m2Mois (numérique sans zéro)
mm02Mois (numérique avec zéro)
mmmfévrMois (texte raccourci)
mmmmfévrierMois (texte entier)
yy24Année (2 derniers chiffres)
yyyy2024Année (4 chiffres)
h8Heures sans zéro (0-23)
hh08Heures avec zéro (00-23)
n3Minutes sans zéro (0-59)
nn03Minutes avec zéro (00-59)
s5Secondes sans zéro (0-59)
ss05Secondes avec zéro (00-59)

Ainsi que quelques exemples de formats de dates et heures :

Sub datesEtHeures()

    'Now renvoie la date et l'heure en cours (07.02.2024 09:09:02)
    dateTest = Now()
    
    'Renvoie : 07.02.24
    Range("A1") = Format(dateTest, "dd.mm.yy")

    'Renvoie : mardi 7 février 2024
    Range("A2") = Format(dateTest, "dddd d mmmm yyyy")

    'Renvoie : Mardi 7 Février 2024
    Range("A3") = WorksheetFunction.Proper(Format(dateTest, "dddd d mmmm yyyy"))

    'Renvoie : mar. 07
    Range("A4") = Format(dateTest, "ddd dd")

    'Renvoie : MAR 07
    Range("A5") = "'" & Replace(UCase(Format(dateTest, "ddd dd")), ".", "")

    'Renvoie : FÉVRIER 2024
    Range("A6") = UCase(Format(dateTest, "mmmm yyyy"))
    
    'Renvoie : 07.02.2024 09:09
    Range("A7") = Format(dateTest, "dd.mm.yyyy hh:mm")

    'Renvoie : Le 7 février à 9h09'02''
    Range("A8") = Format(dateTest, "Le d mmmm à h\hmm'ss''")

    'Renvoie : 9H09
    Range("A9") = Format(dateTest, "h\Hmm")

End Sub