Médiaforma

VBA Excel – Traitement des nombres

Partagez cet article sur vos réseaux

Cet article regroupe les opérateurs et les fonctions dédiés à la manipulation des nombres en VBA Excel.

Opérateurs mathématiques

Les opérateurs mathématiques sont très classiques. Notez cependant l’opérateur de division entière (\) et le module (Mod) qui ne se retrouvent pas dans tous les langages :

Opérateur Signification
^ Mise à la puissance
+ Addition
Soustraction
* Multiplication
/ Division
\ Division entière
Mod Modulo

 

Exemples :

Dim n1, n2 As Single

n1 = 13.34

n2 = 3.46

Debug.Print "n1 = " & n1

Debug.Print "n2 = " & n2

Debug.Print "n1^3 = " & n1 ^ 3

Debug.Print "n1/n2 = " & n1 / n2

Debug.Print "n1\n2 = " & n1 \ n2

Debug.Print "n1 Mod 2 = " & n1 Mod n2

Voici le résultat de ce code :

n1 = 13,34

n2 = 3,46

n1^3 = 2373,927704

n1/n2 = 3,85549128697245

n1\n2 = 4

n1 Mod 2 = 1

Opérateurs de comparaison

Les opérateurs de comparaison sont très classiques :

Opérateur Signification
= Egale à
Inférieur à
<= Inférieur ou égal à
Supérieur à
>= Supérieur ou égal à
<>  Différent de

Opérateurs logiques

Les opérateurs logiques sont également très classiques :

Opérateur Signification
And Et logique
Or Ou logique
Not Non logique

Fonctions mathématiques

Le langage VBA contient quelques fonctions mathématiques dédiées à la manipulation des nombres. Elles sont résumées dans le tableau suivant :

Fonction Valeur retournée
Abs() Valeur absolue de l’argument
Atn() Double qui représente l’arc tangente de l’argument
Cos() Double qui représente le cosinus de l’angle passé en argument
Exp() Double qui représente la base de logarithmes népériens mise à la puissance de l’argument
Fix() Partie entière de l’argument
Hex() String qui représente la valeur hexadécimale de l’argument
Int() Partie entière de l’argument
Log() Double qui indique le logarithme népérien de l’argument
Oct() Variant (String) qui représente la valeur octale de l’argument
Rnd() Single qui représente un nombre aléatoire
Round() Argument arrondi à un nombre spécifié de décimales
Sgn() Variant (Integer) qui indique le signe de l’argument
Sin() Double qui représente le sinus de l’angle passé en argument
Sqr() Double qui représente la racine carrée du nombre passé en argument
Tan() Double qui représente la tangente de l’angle passé en argument
Val() Evaluation numérique de l’argument chaîne

Fonctions de conversion

Et pour terminer, voici quelques fonctions de conversion :

Fonction Valeur retournée Exemple
CBool() Evalue l’argument et retourne Vrai ou Faux en conséquence CBool(1<2) retourne Vrai
CByte() Retourne la conversion en Byte (entre 0 et 255) de l’argument CByte(2.35) retourne le Byte 2
CCur() Retourne la conversion en Currency de l’argument CByte(12345.678989) retourne le Currency 12345.679
CDbl() Retourne la conversion en Double de l’argument CDbl(12.456789) retourne le Double 12.456789

 

Mise en forme

La fonction Format() permet de mettre en forme des nombres. Elle retourne une valeur de type String. Voici sa syntaxe :

Format(expression, format)

expression est l’expression à mettre en forme et format est le format de mise en forme à appliquer à l’expression.

Voici quelques exemples :

Dim s As Single

s = 1234.456

MsgBox Format(s, "0 000.00 €")

s = 1234567

MsgBox Format(s, "0.00")

MsgBox Format(s, "#,##0")

Voici le résultat de l’exécution :

 

Pour aller plus loin avec la fonction Format(), je vous suggère de consulter la page dédiée à cette fonction sur MSDN.

      

 
Commentaires