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)
Où 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.