Utiliser les formats numériques dans Excel VBA
-
Implémenter la propriété
NumberFormat
sur les valeurs numériques VBA -
Obtenir le type de
NumberFormat
utilisé par une plage VBA
Les nombres se présentent sous différentes formes dans notre vie quotidienne. Nous avons des dates, des prix, des pourcentages, des fractions, des décimales, etc. Ils peuvent tous apparaître différemment, mais ils signifient tous une valeur.
Pareil avec Excel, nous pouvons traiter différents formats de nombres. Nous pouvons utiliser les types de données Date
et Time
lorsqu’il s’agit d’heures et de dates, tandis que nous pouvons utiliser Percent
lorsqu’il s’agit de pourcentages.
Cet article démontrera la propriété NumberFormat
pour nous aider à utiliser et à traiter correctement les nombres tout au long de notre pratique Excel VBA.
Implémenter la propriété NumberFormat
sur les valeurs numériques VBA
Cette section utilise la propriété NumberFormat
pour modifier la mise en forme des nombres dans une cellule.
Syntaxe:
Range.NumberFormat = [FormatCodes]
Paramètres:
Range |
La plage à formater |
[FormatCodes] |
Chaînes prédéterminées qui représenteront le type de format numérique à utiliser. |
[codes de format]
Matrice :
Nom du format | Code de formatage | Exemple | La description |
—————– | ——————————————————– | —————– | —————————————————— |
Général | General |
1234567.89 |
afficher le nombre sans format spécifique |
Devise | $#,##0.00 |
$1,234,567.89 |
afficher en tant que valeurs monétaires générales |
Nombre | 0 |
1234567.89 |
format affichera le nombre exactement tel qu’il est |
Scientifique | 0.00E+00 |
1.23E+06 |
convertir le nombre au format exponentiel |
Comptabilité | _($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_) |
$123.00 |
display the number used in Comptabilité |
Date | m/d/yy |
11/23/2021 |
afficher la date et l’heure des numéros de série |
Temps | [$-F400]h:mm:ss am/pm |
12:00:03 AM |
afficher la date et l’heure des numéros de série |
Pourcentage | 0.00% |
5.23 % |
afficher la valeur sous forme de pourcentage |
Fraction | # ?/? |
1/4 |
afficher la valeur sous forme fractionnaire |
Spécial | ;; |
000-00-0000 |
formats utilisés sur les valeurs de liste et de base de données |
La feuille de travail virtuelle Sheet1
sera les valeurs référencées utilisées sur tous les exemples ci-dessous pour les exemples de codes ci-dessous.
Feuille 1 :
| A | B | C |
1| 1234.56 | 11/23/2021 | 93249812 |
2| 5 | 0.00004 | 0.25 |
Le bloc de code ci-dessous affichera le format General
:
Sub FormatGeneral()
Range("A1").NumberFormat = "General"
Debug.Print Range("A1").Text
End Sub
Sortie FormatGénéral
:
1234.56
Le bloc de code ci-dessous affichera le format Devise
:
Sub FormatCurrency()
Range("C1").NumberFormat = "$#,##0.00"
Debug.Print Range("C1").Text
End Sub
General
Sortie :
$93,249,812.00
Le bloc de code ci-dessous affichera le format Scientifique
:
Sub FormatScientific()
Range("C1").NumberFormat = "0.00E+00"
Debug.Print Range("C1").Text
End Sub
Sortie FormatScientific
:
9.32E+07
Le bloc de code ci-dessous affichera le format Comptabilité
:
Sub FormatAccounting()
Range("A1").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
Debug.Print Range("A1").Text
End Sub
Sortie FormatAccounting
:
$ 1,234.56
Le bloc de code ci-dessous affichera le format Date
:
Sub FormatDate()
Range("A2").NumberFormat = "m/d/yy"
Debug.Print Range("A2").Text
End Sub
Sortie FormatDate
:
1/5/00
Le bloc de code ci-dessous affichera le formatage Time
:
Sub FormatTime()
Range("B2").NumberFormat = "$-F400]h:mm:ss am/pm"
Debug.Print Range("B2").Text
End Sub
Sortie FormatTime
:
12:00:03 AM
Le bloc de code ci-dessous affichera le format Percentage
:
Sub FormatPercentage()
Range("A1").NumberFormat = "0.00%"
Debug.Print Range("A1").Text
End Sub
Sortie FormatPercentage
:
123456.00%
Le bloc de code ci-dessous affichera le format Fraction
:
Sub FormatFraction()
Range("C2").NumberFormat = "# ?/?"
Debug.Print Range("C2").Text
End Sub
Sortie FormatFraction
:
1/4
Obtenir le type de NumberFormat
utilisé par une plage VBA
Nous avons renvoyé la valeur formatée de la plage spécifiée dans les exemples ci-dessus. Nous obtiendrons le type de formatage utilisé dans la plage spécifiée dans cette section.
Syntaxe:
Range.NumberFormat
Paramètres:
Range |
La plage de cellules pour obtenir le type de formatage |
Toujours en référence à Sheet1
, les exemples de blocs de code ci-dessous illustreront le retour du type de formatage utilisé par la plage spécifiée.
Sub GetFormattingType()
Debug.Print Range("B1").NumberFormat
End Sub
Sortie GetFormattingType
:
m/d/yyyy