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ères | Exemple | Description |
---|---|---|
d | 6 | Jour (numérique sans zéro) |
dd | 06 | Jour (numérique avec zéro) |
ddd | mar. | Jour (texte raccourci) |
dddd | mardi | Jour (texte entier) |
m | 2 | Mois (numérique sans zéro) |
mm | 02 | Mois (numérique avec zéro) |
mmm | févr | Mois (texte raccourci) |
mmmm | février | Mois (texte entier) |
yy | 23 | Année (2 derniers chiffres) |
yyyy | 2023 | Année (4 chiffres) |
h | 8 | Heures sans zéro (0-23) |
hh | 08 | Heures avec zéro (00-23) |
n | 3 | Minutes sans zéro (0-59) |
nn | 03 | Minutes avec zéro (00-59) |
s | 5 | Secondes sans zéro (0-59) |
ss | 05 | Secondes 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.2023 09:09:02)
date_test = Now()
'Renvoie : 07.02.23
Range("A1") = Format(date_test, "dd.mm.yy")
'Renvoie : mardi 7 février 2023
Range("A2") = Format(date_test, "dddd d mmmm yyyy")
'Renvoie : Mardi 7 Février 2023
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 2023
Range("A6") = UCase(Format(date_test, "mmmm yyyy"))
'Renvoie : 07.02.2023 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