Fonction de formatage VBA

Table des matières

Ce didacticiel montrera comment utiliser la fonction Format.

Fonction de formatage

Formater des nombres avec des formats prédéfinis

La fonction de formatage peut convertir un nombre en chaîne formatée avec des formats numériques nommés prédéfinis. Ces formats prédéfinis sont Devise, Fixe, Standard, Pourcentage, Scientifique, Oui/Non, Vrai/Faux et Activé/Désactivé.

12345678910111213141516171819202122232425262728293031 Sous-formatExemple_1()Format MsgBox (1234567.8) 'Le résultat est : 1234567.8'Format laisse juste le nombre tel qu'il estFormat MsgBox (1234567.8, "Devise") 'Le résultat est : 1 234 567,80 $'La devise utilise les paramètres de devise du systèmeFormat MsgBox (1234567.8, "Fixe") 'Le résultat est : 1234567.80'Fixe : Au moins un chiffre avant la virgule et'utilise les paramètres système pour la partie décimaleFormat MsgBox (1234567.8, "Standard") 'Le résultat est : 1 234 567,80'Standard : Séparateurs de milliers et système standardFormat MsgBox (1234567.8, "Pourcentage") 'Le résultat est : 123456780.00%'Pourcentage, multiplie par 100 avec % et système standard.Format MsgBox (1234567.8, "Scientifique") 'Le résultat est : 1.23E+06'Notation scientifiqueFormat MsgBox (1234567.8, "Oui/Non") 'Le résultat est : Oui'Non si le nombre est zéroFormat MsgBox (1234567.8, "True/False") 'Le résultat est : True'False si le nombre est égal à zéroMsgBox Format (1234567.8, "On/Off") 'Le résultat est : On'Off si le nombre est zéroFin du sous-marin

Formater des nombres avec des formats définis par l'utilisateur

La fonction de format peut convertir un nombre en une chaîne, des formats numériques formatés définis par l'utilisateur. 0 est un espace réservé à un chiffre qui affiche un chiffre ou un zéro. # est un espace réservé à un chiffre qui affiche un chiffre ou rien. Un point (.) est l'espace réservé à la décimale, % est l'espace réservé en pourcentage et la virgule (,) est le séparateur des milliers. Le texte peut être ajouté au format à l'aide de guillemets ("") et un seul caractère peut être ajouté s'il est utilisé après une barre oblique inverse (\).

1234567891011 Sous FormatExample_2()Format MsgBox (7.8, "000.00") 'Le résultat est : 007.80Format MsgBox(12347.8356, "000.00") 'Le résultat est : 12347.84MsgBox Format (7.8, "###.##") 'Le résultat est : 7.8Format MsgBox(12347.8356, "###.##") 'Le résultat est : 12347.84MsgBox Format (7.8, "\$.00") 'Le résultat est : 7,80 $Format MsgBox(1237.835, "ABA0.00") 'Le résultat est : ABA1237.84Format MsgBox(12347.8356, "000.00%") 'Le résultat est : 1234783.56%Format MsgBox(12347.8356, "%000.00") 'Le résultat est : %12347.84Fin du sous-marin

Formater les nombres en fonction des valeurs

La fonction de format peut avoir différentes sections utilisant différentes règles de format pour les nombres positifs, négatifs, zéro et Null. Ces sections sont séparées par un point-virgule.

1234567 Sous FormatExample_3()Format MsgBox(7.8, "000.00;(000.00);\z\e\r\o;rien") 'Le résultat est : 007.80Format MsgBox(-7.8, "000.00;(000.00);\z\e\r\o;rien") 'Le résultat est : (007.80)MsgBox Format(0, "000.00;(000.00);\z\e\r\o;rien") 'Le résultat est : zéroMsgBox Format(Null, "000.00;(000.00);\z\e\r\o;rien") 'Le résultat est : rienFin du sous-marin

Formater les dates avec des formats prédéfinis

La fonction Format peut formater les dates avec différents formats prédéfinis. Ces formats sont la date longue, moyenne et courte ainsi que la date longue, moyenne et courte.

1234567891011121314 Sous-formatExemple_4()Dim DateEx As DateDateEx = #4/18/2020 19:35:56 #Format MsgBox (DateEx, "Date générale") 'Le résultat est : 18/04/2020 19:35:56Format MsgBox (DateEx, "Date longue") 'Le résultat est : samedi 18 avril 2022Format MsgBox (DateEx, "Date moyenne") 'Le résultat est : 18-Apr-20Format MsgBox (DateEx, "Date courte") 'Le résultat est : 18/04/2020Format MsgBox (DateEx, "Long Time") 'Le résultat est : 19:35:56 PMFormat MsgBox (DateEx, "Moyenne heure") 'Le résultat est : 19:35Format MsgBox (DateEx, "Short Time") 'Le résultat est : 19:35Fin du sous-marin

Formater les dates avec des formats définis par l'utilisateur

La fonction Format peut formater les dates avec des formats définis par l'utilisateur. Des caractères tels que d, m, y, w, q peuvent être utilisés pour créer des formats de date personnalisés.

123456789101112131415161718192021222324 Sous FormatExample_5()Dim DateEx As DateDateEx = #4/18/2020 19:35:56 #Format MsgBox (DateEx, "m/d/yy") 'Le résultat est : 18/04/2020Format MsgBox (DateEx, "mm-dd-yy") 'Le résultat est : 18-04-2020Format MsgBox (DateEx, "mmm-jj-aa") 'Le résultat est : 18 avril 2020Format MsgBox (DateEx, "mmmm-dd-yy") 'Le résultat est : 18 avril 2020Format MsgBox (DateEx, "mm-jj-aa") 'Le résultat est : 04-Sat-2020Format MsgBox (DateEx, "mm-dddd-yy") 'Le résultat est : 04-samedi-2020Format MsgBox(DateEx, "y")'Le résultat est : 109'nombre de jours dans l'année 1-366Format MsgBox(DateEx, "ww")'Le résultat est : 16'nombre de semaine dans l'année 1-52Format MsgBox(DateEx, "q")'Le résultat est : 2'quart de l'année 1-4Fin du sous-marin

Les combinaisons de caractères comme h, n, s et am, pm peuvent être utilisées pour créer des formats d'heure personnalisés.

123456789101112 Sous FormatExample_6()Dim DateEx As DateDateEx = #4/18/2020 19:06:05 #MsgBox Format(DateEx, "h:n:s") 'Le résultat est : 19:6:5MsgBox Format(DateEx, "hh:nn:ss") 'Le résultat est : 19:06:05Format MsgBox(DateEx, "hh:nn:ss am/pm") 'Le résultat est : 07:06:05 pmFormat MsgBox (DateEx, "hh:nn:ss AM/PM") 'Le résultat est : 07:06:05 PMFormat MsgBox(DateEx, "hh:nn:ss a/p") 'Le résultat est : 07:06:05 pFormat MsgBox(DateEx, "hh:nn:ss A/P") 'Le résultat est : 07:06:05 PFin du sous-marin

Format pour une meilleure lisibilité

La fonction de formatage peut formater des chaînes ou des nombres pour une meilleure lisibilité. @ est un espace réservé de caractère utilisé pour afficher un caractère ou un espace. & est un espace réservé de caractère utilisé pour afficher un caractère ou rien. ! peut être utilisé pour utiliser des caractères fictifs de gauche à droite et peut être utilisé pour appliquer des minuscules ou des majuscules. Peut être utile pour formater des numéros de téléphone ou d'autres grands nombres sans modifier la valeur d'origine.

12345678910111213141516171819202122 Sous-formatExemple_7()Dim StrEx en tant que chaîneStrEx = "ABCdef"MsgBox Format(StrEx, "-@@@-@@-@@") 'Le résultat est : - AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&") 'Le résultat est : -AB-Cd-ef'Commence de droite à gauche.MsgBox Format(StrEx, "-@@@-@@-@@-@@") 'Le résultat est : - -AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&-&&") 'Le résultat est : --AB-Cd-ef'Commence de droite à gauche. Lorsqu'il n'y a plus de caractères @ ajoute des espaces et & n'ajoute rienMsgBox Format(StrEx, "!-@@@-@@-@@-@@") 'Le résultat est : -ABC-de-f -MsgBox Format(StrEx, "!-&&&-&&-&&-&&") 'Le résultat est : -ABC-de-f'Commence de gauche à droite à cause du !MsgBox Format(StrEx, ">") 'Le résultat est : ABCDEFMsgBox Format(StrEx, "<") 'Le résultat est : abcdefFormat MsgBox (1234567890, "@@@-@@@-@@@@") 'Le résultat est : 123-456-7890Format MsgBox (1234567890, "@@@@-@@@-@@@") 'Le résultat est : 1234-567-890Fin du sous-marin

Modèles de format dans les cellules de la feuille de calcul

La fonction de format peut être utilisée dans le code VBA et également dans les cellules des feuilles de calcul. Sélectionnez la cellule ou la plage de cellules et suivez l'entrée de menu Format Cells > Custom. Il existe de nombreux formats définis par l'utilisateur et l'utilisateur peut également créer ses propres formats personnalisés.

Formater des motifs avec une formule de texte

La fonction de format peut changer directement le format d'une valeur dans le code VBA. Nous pouvons également utiliser la formule Excel Text pour obtenir le même résultat en utilisant WorksheetFunction.Text.

1234567891011 Sous-formatExemple_8()Format MsgBox (7.8, "000.00")'Le résultat est : 007.80MsgBox WorksheetFunction.Text(7.8, "000.00")'Le résultat est : 007.80Format MsgBox (7.8, "###.##")'Le résultat est : 7,8MsgBox WorksheetFunction.Text(7.8, "###.##")'Le résultat est : 7,8Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave