Vous avez apprécié ?
Partagez ;-)

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
d7Jour (numérique sans zéro)
dd07Jour (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)
yy12Année (2 derniers chiffres)
yyyy2012Anné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)
s8Secondes sans zéro (0-59)
ss08Secondes avec zéro (00-59)

Ainsi que quelques exemples de formats de dates et heures :

Sub dates_et_heures()

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

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

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

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

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

    'Renvoie : FÉVRIER 2012
    Range("A6") = UCase(Format(date_test, "mmmm yyyy"))
   
    'Renvoie : 07.02.2012 09:09
    Range("A7") = Format(date_test, "dd.mm.yyyy hh:mm")

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

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

End Sub