Fonction format

Retourne une valeur de type Variant (String) contenant une expression formatée en fonction des instructions qui se trouvent dans l’expression de mise en forme.

Remarque

Vous voulez développer des solutions qui étendent l’expérience Office sur plusieurs plateformes ? Découvrez le nouveau modèle de compléments Office. Les compléments Office ont un encombrement réduit par rapport aux compléments et solutions VSTO. Vous pouvez les créer à l’aide de pratiquement n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.

Syntaxe

Format(Expression, [ Format ], [ FirstDayOfWeek ], [ FirstWeekOfYear ])

La syntaxe de la fonction Format comprend les éléments suivants.

Élément Description
Expression Obligatoire. Toute expression valide.
Format Facultatif. Une expression de format nommée ou définie par l’utilisateur valide.
FirstDayOfWeek Facultatif. Constante indiquant le premier jour de la semaine.
FirstWeekOfYear Facultatif. Constante spécifiant la première semaine de l’année.

Paramètres

L’argument firstdayofweek contient ces paramètres.

Constante Valeur Description
vbUseSystem 0 Utilise le paramètre NLS API.
vbSunday 1 Dimanche (par défaut))
vbMonday 2 Lundi
vbTuesday 3 Mardi
vbWednesday 4 Mercredi
vbThursday 5 Jeudi
vbFriday 6 Vendredi
vbSaturday 7 Samedi

L’argument firstweekofyear a ces paramètres.

Constante Valeur Description
vbUseSystem 0 Utilise le paramètre NLS API.
vbFirstJan1 1 Commence par la semaine qui contient le 1er janvier (par défaut ).
vbFirstFourDays 2 Commence par la première semaine qui comprend au moins quatre jours de la nouvelle année.
vbFirstFullWeek 3 Commence par la première semaine complète de l’année.

Remarques

Pour mettre en forme Procédez comme suit
Nombres Utiliser des formats numériques nommés prédéfinis ou créer des formats numériques définis par l’utilisateur.
Dates et heures Utiliser des formats de date et d’heure nommés prédéfinis ou créer des formats de date et d’heure définis par l’utilisateur.
Numéros de série de date et d’heure Utiliser des formats de date ou d’heure ou des formats numériques.
Chaînes Créer vos propres formats de chaîne définis par l’utilisateur.

Format tronque le format à 257 caractères.

Si vous essayez de mettre en forme un nombre sans spécifier format, Format fournit des fonctionnalités semblables à la Str fonction, bien qu’il fonctionne à l’international. Toutefois, les nombres positifs mis en forme comme des chaînes à l’aide de Format n’incluent pas un espace réservé pour le signe de la valeur; ceux convertis à l’aide de Str conservent l’espace de début.

Si vous mettez en forme une chaîne numérique non localisée, vous devez utiliser un format numérique défini par l’utilisateur pour être certain d’obtenir le résultat désiré.

Remarque

Si le paramètre de la propriétécalendrierestGregorian et format spécifie la mise en forme de la date, l’expression fournie doit être Gregorian. Si le paramètre de la propriété Calendrier Visual Basic est Hijri, l’expression fournie doit être Hijri.

Si le calendrier est grégorien, la signification des symboles de l’expression format est inchangée. Si le calendrier est hégirien, tous les symboles de format de date (par exemple, jjjj, mmmm, aaaa ) ont la même signification mais s’appliquent au calendrier hégirien (Hijri). Les symboles de format restent en anglais ; les symboles qui génèrent un affichage du texte (par exemple, AM et PM) affichent la chaîne (anglais ou arabe) associée à ce symbole. La plage de certains symboles changent lorsque le calendrier est hégirien.

Symboles de date

Symbole Plage
d 1-31 (jours du mois sans zéro devant)
dd 01-31 (jours du mois avec un zéro devant)
w 1 à 7 (jour de semaine, en commençant par dimanche = 1)
ww 1-53 (semaine de l’année sans zéro devant ; semaine 1 commence le 1er janvier)
m 1-12 (mois d’année sans zéro devant, en commençant par janvier = 1)
mm 01-12 (mois de l’année, avec zéro devant, en commençant par janvier = 01)
mmm Affiche le nom abrégé des mois (il n’existe pas de forme abrégée pour les noms de mois hégiriens).
mmmm Affiche les noms de mois complets
y 1-366 (jours de l’année)
yy 00-99 (deux derniers chiffres de l’année)
yyyy 100-9999 (année à trois ou quatre chiffres)

Symboles d’heure

Symbole Plage
h 0-23 (1-12 avec « AM » ou « PM » ajouté) (heure de la journée sans zéro devant)
hh 00-23 (01-12 avec « AM » ou « PM » ajouté) (heure de la journée avec zéro devant)
n 0-59 (minute de l’heure sans zéro devant)
nn 00-59 (minute de l’heure avec zéro devant)
m 0-59 (minute de l’heure sans zéro devant) Uniquement si précédée deh ou hh
mm 00-59 (minute de l’heure avec zéro devant). Uniquement si précédée deh ou hh
s 0-59 (seconde de la minute sans zéro devant)
ss 00-59 (seconde de la minute avec zéro devant)

Exemple

Cet exemple montre les différentes utilisations de la fonctionFormat pour formater les valeurs à l’aide des formats nommés et formats définis par l’utilisateur. Pour le séparateur de date (/), caractère séparateur horaire (:) et AM / PM littéral, la mise en forme réelle affichée par votre système dépend des paramètres régionaux sur lequel le code est en cours d’exécution. Lorsque heures et dates sont affichées dans l’environnement de développement, le format d’heure courte et le format de date courte des paramètres régionaux du code sont utilisés. Lors de l’affichage en exécutant du code, le format d’heure courte et le format date courte des paramètres régionaux du système sont utilisés, qui peuvent différer des paramètres régionaux du code. Pour cet exemple, Anglais/États-Unis est la valeur par défaut. MyTime et MyDate sont affichés dans l’environnement de développement à l’aide du paramètre système heure et date courtes.

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")

' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s")    ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss am/pm")    ' Returns "05:04:23 pm".
MyStr = Format(MyTime, "hh:mm:ss AM/PM")    ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy")    ' Returns "Wednesday, Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23)    ' Returns "23".

' User-defined formats.
MyStr = Format(5459.4, "##,##0.00")    ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00")    ' Returns "334.90".
MyStr = Format(5, "0.00%")    ' Returns "500.00%".
MyStr = Format("HELLO", "<")    ' Returns "hello".
MyStr = Format("This is it", ">")    ' Returns "THIS IS IT".

Différents formats pour différentes valeurs numériques

Uneexpressionformat définie par l’utilisateur pour les nombres peut comporter une à quatre sections séparées par des points-virgules. Si le format argument contient un des formats numériques nommés, une seule section est autorisée.

Si vous utilisez Résultat
Une seule section L’expression de mise en forme concerne toutes les valeurs.
Deux sections La première section concerne les valeurs positives et les zéros, la deuxième les valeurs négatives.
Trois sections La première section concerne les valeurs positives, la deuxième les valeurs négatives et la troisième les zéros.
Quatre sections La première section concerne les valeurs positives, la deuxième les valeurs négatives, la troisième les zéros et la quatrième les valeurs de type Null.
"$#,##0;($#,##0)"

Si deux points-virgules se suivent immédiatement, la section manquante est affichée selon le format de la valeur positive. Par exemple, le format suivant affiche les valeurs positives et négatives en utilisant le format de la première section et affiche « Zéro » si la valeur est zéro.

"$#,##0;;\Z\e\r\o"

Différents formats pour différentes valeurs de chaîne

Une expression de mise en forme pour les chaînes peut contenir une ou deux sections séparées par un point-virgule (;).

Sections utilisées Résultat
Une seule section Le format s’applique à toutes les données de la chaîne.
Deux sections La première section s’applique aux données de la chaîne et la seconde aux valeurs de type Null et aux chaînes de longueur nulle ("").

Formats de date/heure nommés

Le tableau suivant présente les noms des formats de date et d’heure prédéfinis.

Nom de format Description
Date générale Afficher une date et/ou l’heure, par exemple, 3/4/93 05:34 PM. S’il n’existe pas de partie fractionnaire, afficher une date uniquement, par exemple, 3/4/93. S’il n’existe pas de partie entière, afficher une heure uniquement, par exemple, 05:34 PM. L’affichage de la date est déterminé par les paramètres de votre système.
Long Date Affichage de la date complète selon le format défini dans votre système.
Medium Date Affichage de la date selon le format intermédiaire conforme à la langue de l’application hôte.
Short Date Affichage de la date abrégée selon le format défini dans votre système.
Long Time Affichage de l’heure complète selon le format défini dans votre système, comprenant les heures, les minutes et les secondes.
Medium Time Affichage de l’heure dans un format de 12 heures en utilisant les heures et les minutes ainsi que les indicateurs AM/PM.
Short Time Affichage de l’heure au format de 24 heures, par exemple 17:45.

Formats numériques nommés

Le tableau suivant présente les noms des formats numériques prédéfinis.

Nom de format Description
General Number Affichage du nombre sans séparateur de milliers.
Devise Affichage du nombre avec un séparateur de milliers, le cas échéant ; affichage de deux chiffres à droite du séparateur décimal. Le résultat est fonction des paramètres régionaux de votre système.
Fixe Affichage d’au moins un chiffre à gauche et de deux chiffres à droite du séparateur décimal.
Standard Affichage d’un nombre avec séparateur de milliers et d’au moins un chiffre à gauche et de deux chiffres à droite du séparateur décimal.
Pourcentage Affichage d’un nombre multiplié par 100 suivi du signe pourcentage (%) ajouté à droite ; affichage automatique de deux chiffres à droite du séparateur décimal.
Scientifique Utilisation de la notation scientifique standard.
Yes/No Affichage de Non si le nombre est 0 ; sinon affichage de Oui.
True/False Affichage de Faux si le nombre est 0 ; sinon affichage de Vrai.
On/Off Affichage de Inactif si le nombre est 0 ; sinon affichage de Actif.

Formats de chaîne définis par l’utilisateur

Utilisez l'un des caractères suivants pour créer une expression de format pour les chaînes de caractères.

Caractère Description
@ Caractère espace réservé. Afficher un caractère ou un espace. Si la chaîne possède un caractère là où le symbole arobase (@) s’affiche dans la chaîne de format, affichez-le ; sinon, affichez un espace dans à cet endroit. Les espaces réservés sont renseignés de droite à gauche, sauf si un caractère point d’exclamation (!) est dans la chaîne de format.
& Caractère espace réservé. Affichage d’un caractère ou de rien d’autre. Si la chaîne contient un caractère à la position occupée par le signe esperluette (&), ce caractère est affiché ; sinon, rien n’est affiché. Les espaces réservés sont renseignés de droite à gauche, sauf si un caractère point d’exclamation (!) est dans la chaîne de format.
< Forcer les minuscules. Tous les caractères sont affichés en minuscules.
> Forcer les majuscules. Tous les caractères sont affichés en majuscules.
! Force le remplissage de gauche à droite d’espaces réservés. La valeur par défaut consiste à remplir les espaces réservés de droite à gauche.

Formats de date/heure définis par l’utilisateur

Le tableau suivant présente les caractères que vous pouvez utiliser pour créer des formats de date/heure définis par l’utilisateur.

Caractère Description
(:) Séparateur d'heure. Dans certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le caractère séparateur horaire. Le caractère séparateur horaire sépare les heures, minutes et secondes lorsque les valeurs horaires sont mises en forme. Le caractère réel utilisé en tant que séparateur horaire est déterminé par les paramètres de votre système.
(/) Séparateur de date. Dans certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le caractère séparateur de date. Le séparateur de date est utilisé pour séparer le jour, mois et année lorsque les valeurs de date sont mises en forme. Le caractère réel utilisé en tant que séparateur de date est déterminé par les paramètres de votre système.
c Affichez la date comme ddddd et affichez l'heure comme ttttt, dans cet ordre. Affichage des informations relatives à la date seulement si le numéro de série de date ne comporte aucune partie décimale ; affichage des informations relatives à l’heure seulement en l’absence de partie entière.
d Afficher le jour sous la forme d’un nombre sans zéro non significatif (1 à 31).
dd Afficher le jour sous la forme d’un nombre avec un zéro non significatif (01-31).
ddd Afficher le jour sous la forme d’une abréviation (dim–sat). Localisé.
dddd Afficher le jour sous la forme d’un nom complet (dimanche à samedi). Localisé.
ddddd Affichage de la date complète (jour, mois et année), mise en forme conformément à l’option de format de date abrégé définie dans votre système. Le format de date courte par défaut est m/d/yy.
dddddd Affichage d’un numéro de série de date sous la forme d’une date complète (jour, mois et année), mise en forme conformément à l’option de format de date longue définie dans votre système. Le format de date longue par défaut est mmmm dd, yyyy.
w Affichage du jour de la semaine sous la forme d’un nombre (de 1 pour dimanche à 7 pour samedi).
ww Afficher la semaine de l’année sous la forme d’un nombre (1 à 54).
m Afficher le mois sous la forme d’un nombre sans zéro non significatif (1 à 12). Si m suit immédiatement h ou hh, la minute plutôt que le mois s’affiche.
mm Afficher le mois sous la forme d’un nombre avec un zéro non significatif (01-12). Si m suit immédiatement h ou hh, la minute plutôt que le mois s’affiche.
mmm Afficher le mois sous la forme d’une abréviation (Jan–Dec). Localisé.
mmmm Afficher le mois sous la forme d’un nom de mois complet (janvier à décembre). Localisé.
q Afficher le trimestre de l’année sous la forme d’un nombre (1 à 4).
y Afficher le jour de l’année sous la forme d’un nombre (1 à 366).
yy Afficher l’année sous la forme d’un nombre à 2 chiffres (00 à 99).
yyyy Afficher l’année sous la forme d’un nombre à 4 chiffres (100-9999).
h Afficher l’heure sous la forme d’un nombre sans zéro non significatif (0-23).
hh Afficher l’heure sous la forme d’un nombre avec un zéro non significatif (00-23).
n Afficher la minute sous la forme d’un nombre sans zéro non significatif (0-59).
nn Afficher la minute sous la forme d’un nombre avec un zéro non significatif (00 à 59).
s Afficher le deuxième sous la forme d’un nombre sans zéro non significatif (0 à 59).
ss Afficher le deuxième sous la forme d’un nombre avec un zéro non significatif (00 à 59).
ttttt Afficher une heure comme une heure complète (y compris les heures, minutes et secondes), mise en forme à l’aide du caractère séparateur horaire défini par le format horaire reconnu par votre système. Un zéro non significatif s’affiche si l’option de zéro non significatif est sélectionnée et que l’heure est antérieure à 10h00 ou à 10h00. Le format d’heure par défaut est h:mm:ss.
AM/PM Affichage à l’aide du format 12 heures et avec l’indicateur AM en majuscules pour une heure antérieure à midi et de l’indicateur PM en majuscules pour une heure située entre midi et 11:59 P.M.
am/pm Affichage à l’aide du format 12 heures et avec l’indicateur AM en minuscules pour une heure antérieure à midi et de l’indicateur PM en minuscules pour une heure située entre midi et 11:59 P.M.
A/P Affichage à l’aide du format 12 heures et avec l’indicateur A en majuscule pour une heure antérieure à midi et de l’indicateur P en majuscule pour une heure située entre midi et 11:59 P.M.
a/p Affichage à l’aide du format 12 heures et avec l’indicateur A en minuscule pour une heure antérieure à midi et de l’indicateur P en minuscule pour une heure située entre midi et 11:59 P.M.
AMPM Affichage à l’aide du format 12 heures et avec le littéral AM sous la forme définie par votre système, pour une heure antérieure à midi et du littéral PM sous la forme définie par votre système, pour une heure située entre midi et 11:59 P.M. AMPM peut apparaître soit en minuscules, soit en majuscules, mais la casse de la chaîne affichée dépend de la chaîne définie par vos paramètres système. Le format par défaut est AM/PM. Si votre système est défini sur l’horloge de 24 heures, la chaîne est une chaîne de longueur nulle.

Formats numériques définis par l’utilisateur

Le tableau suivant présente les caractères que vous pouvez utiliser pour créer des formats numériques définis par l’utilisateur.

Caractère Description
Aucun Affichage du nombre sans mise en forme.
(0) Espace réservé aux chiffres. Affiche un chiffre ou un zéro. Si l’expression a un chiffre dans la position où la valeur 0 apparaît dans la chaîne de format, affichez-le ; sinon, afficher un zéro à la place. Si le nombre possède moins de chiffres qu’il y a de zéros (de chaque côté du séparateur décimal) dans l’expression de format, afficher des zéros de début ou de fin. Si le nombre comporte plus de chiffres à droite du séparateur décimal qu’il n’existe de zéros à droite du séparateur décimal dans l’expression de format, arrondissez le nombre à autant de décimales qu’il n’y a de zéros. Si le nombre comporte plus de chiffres à gauche du séparateur décimal qu’il n’existe de zéros à droite du séparateur décimal dans l’expression de format, affichez les chiffres supplémentaires sans modification.
(#) Espace réservé aux chiffres. Affiche un chiffre ou rien. Si l’expression mise en forme contient un chiffre à la position occupée par le signe # dans la chaîne de mise en forme, il est affiché ; sinon, rien n’est affiché à cet emplacement. Ce symbole se comporte comme l’espace réservé au chiffre 0 ; cependant, les zéros non significatifs et les zéros à droite ne sont pas affichés si le nombre compte un nombre de chiffres inférieur ou égal au nombre de caractères # situés de part et d’autre du séparateur décimal dans l’expression de mise en forme.
(.) Espace réservé au décimal. Dans certains paramètres régionaux, une virgule est utilisée comme séparateur décimal. L’espace réservé au décimal détermine combien de chiffres apparaissent à gauche et à droite du séparateur décimal. Si l’expression de format contient uniquement des signes de nombre à gauche de ce symbole, les nombres inférieurs à 1 commencent par un séparateur décimal. Pour afficher un zéro non significatif avec des nombres fractionnaires, utilisez 0 comme premier espace réservé de chiffre à gauche du séparateur décimal. Le caractère réel utilisé comme espace réservé décimal varie selon le Format de nombre reconnu par votre système.
(%) Espace réservé au pourcentage. L’expression est multipliée par 100. Le caractère pourcent (%) est inséré là où il apparaît dans la chaîne de format.
(,) Séparateur de milliers. Dans certains paramètres régionaux, un point est utilisé comme séparateur de milliers. Le séparateur de milliers sépare les milliers des centaines au sein d’un nombre avec plusieurs emplacements à gauche du séparateur décimal. Utilisation standard du séparateur de milliers spécifiée si le format contient un séparateur de milliers entouré d’espaces réservés aux chiffres (0 ou # ). Deux séparateurs de milliers adjacents ou un séparateur de milliers immédiatement à gauche du séparateur décimal (qu’une décimale soit spécifiée ou non) signifie « mettre à l’échelle le nombre en le divisant par 1000, en arrondissant selon les besoins ». Par exemple, vous pouvez utiliser la chaîne de format « ##0 », pour représenter 100 millions en tant que 100. Les nombres inférieurs à 1 million sont affichés en tant que 0. Deux séparateurs de milliers adjacents dans une position autre qu’immédiatement à gauche du séparateur décimal sont traités tout simplement comme spécifiant l’utilisation d’un séparateur de milliers. Le caractère réel utilisé comme séparateur de milliers varie selon le Format de nombre reconnu par votre système.
(:) Séparateur d'heure. Dans certains paramètres régionaux, le séparateur horaire est représenté par d'autres caractères. Le caractère séparateur horaire sépare les heures, minutes et secondes lorsque les valeurs horaires sont mises en forme. Le caractère réel utilisé en tant que séparateur horaire est déterminé par les paramètres de votre système.
(/) Séparateur de date. Dans certains paramètres régionaux, d’autres caractères peuvent être utilisés pour représenter le caractère séparateur de date. Le séparateur de date est utilisé pour séparer le jour, mois et année lorsque les valeurs de date sont mises en forme. Le caractère réel utilisé en tant que séparateur de date est déterminé par les paramètres de votre système.
(E- E+ e- e+) Format scientifique. Si l’expression de format contient au moins un espace réservé de chiffre (0 ou # ) à droite de l’E-, E +, e- ou e +, le nombre est affiché au format scientifique et E ou e est inséré entre le nombre et son exposant. Le nombre d’espaces réservés de chiffres à droite détermine le nombre de chiffres dans l’exposant. Utilisez E - ou e - pour placer un signe moins en regard des exposants négatifs. Utilisez E + ou e + pour placer un signe moins en regard des exposants négatifs et un signe plus en regard des exposants positifs.
- + $ ( ) Affiche un caractère littéral. Pour afficher un caractère différent de ceux répertoriés, faites-le précéder d’une barre oblique inverse (\) ou placez-le entre guillemets doubles (" ").
(\) Afficher le caractère suivant dans la chaîne de format. Pour afficher un caractère qui a une signification particulière comme un caractère littéral, faites précéder d’une barre oblique inverse (\). La barre oblique inversée n’est pas affichée. Utiliser une barre oblique inverse est identique à encadrer le caractère suivant avec des guillemets doubles. Pour afficher une barre oblique inverse, utilisez deux barres obliques inverses (\\). Les caractères de mise en forme de date et de mise en forme de l’heure (a, c, d, h, m, n, p, q, s, t, w, y, /, et :), les caractères de mise en forme numérique (#, 0, %, E, e, virgule et point) et les caractères de mise en forme de chaîne (@, &, <, >et !) sont des exemples de caractères qui ne peuvent pas être affichés en tant que caractères littéraux.
("ABC") Affichage de la chaîne entre guillemets. (« ») Pour inclure une chaîne dans l’argument format à partir du code, vous devez utiliser la fonction Chr(34) pour placer le texte entre guillemets doubles (34 est le code caractère correspondant aux guillemets doubles («»)).

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.