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 | 26 | Année (2 derniers chiffres) |
| yyyy | 2026 | 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 datesEtHeures()
'Now renvoie la date et l'heure en cours (07.02.2026 09:09:02)
dateTest = Now()
'Renvoie : 07.02.26
Range("A1") = Format(dateTest, "dd.mm.yy")
'Renvoie : mardi 7 février 2026
Range("A2") = Format(dateTest, "dddd d mmmm yyyy")
'Renvoie : Mardi 7 Février 2026
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 2026
Range("A6") = UCase(Format(dateTest, "mmmm yyyy"))
'Renvoie : 07.02.2026 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