Table des matières:
Vidéo: VBA Excel | Déclaration d'une procédure 2025
Une instruction d'affectation est une instruction VBA qui affecte le résultat d'une expression à une variable ou à un objet. Le système d'aide d'Excel définit le terme expression comme
"… une combinaison de mots-clés, d'opérateurs, de variables et de constantes qui génère une chaîne, un nombre ou un objet. Une expression peut être utilisée pour effectuer un calcul, manipuler des caractères ou tester des données. "
Une grande partie de votre travail dans VBA consiste à développer (et déboguer) des expressions. Si vous savez créer des formules dans Excel, vous n'aurez aucun problème à créer des expressions. Avec une formule de feuille de calcul, Excel affiche le résultat dans une cellule. D'autre part, une expression VBA peut être affectée à une variable.
Exemples d'instructions d'affectation
Dans les exemples d'instructions d'affectation qui suivent, les expressions sont à droite du signe égal:
x = 1 x = x + 1 x = (y * 2) / (z * 2) HouseCost = 375000 FileOpen = Vraie plage ("TheYear"). Valeur = 2016
Les expressions peuvent être aussi complexes que vous le souhaitez; utilisez le caractère de continuation de ligne (un espace suivi d'un trait de soulignement) pour faciliter la lecture des longues expressions.
Souvent, les expressions utilisent des fonctions: les fonctions intégrées de VBA, les fonctions de feuille de calcul d'Excel ou les fonctions que vous développez avec VBA.
A propos de ce signe égal
Comme vous pouvez le constater dans l'exemple précédent, VBA utilise le signe égal comme opérateur d'affectation. Vous êtes probablement habitué à utiliser un signe égal comme symbole mathématique de l'égalité. Par conséquent, une instruction d'assignation comme celle-ci peut vous amener à lever les sourcils:
z = z + 1
Dans quel univers fou z est-il égal à lui-même plus 1? Réponse: Aucun univers connu. Dans ce cas, l'instruction d'affectation (lorsqu'elle est exécutée) augmente la valeur de z de 1. Donc, si z vaut 12, l'exécution de l'instruction rend z égal à 13. Rappelez-vous qu'une affectation utilise le signe égal comme opérateur et non comme symbole d'égalité.
Opérateurs lisses
Les opérateurs jouent un rôle majeur dans VBA. Outre l'opérateur de signe égal, VBA fournit plusieurs opérateurs. Ceux-ci devraient vous être familiers car ce sont les mêmes opérateurs que ceux utilisés dans les formules de feuille de calcul (à l'exception de l'opérateur Mod).
Fonction | Symbole opérateur |
---|---|
Ajout | + |
Multiplication | * |
Division | / |
Soustraction | - |
Exponentiation | ^ < Chaîne de concaténation |
& | Division entière (le résultat est toujours un entier) |
Modulo arithmétique (retourne le reste d'une opération de division | |
)
Mod |
Lorsque vous écrivez une formule Excel, vous faites l'arithmétique modulo en utilisant la fonction MOD.Par exemple, la formule suivante renvoie 2 (le reste lorsque vous divisez 12 par 5): |
= MOD (12, 5)
Dans VBA, l'opérateur Mod est utilisé comme ceci (et z a une valeur de 2):
z = 12 Mod 5
Le terme
concaténation est programmeur pour "joindre ensemble". "Ainsi, si vous concaténez des chaînes, vous combinez des chaînes pour créer une nouvelle chaîne améliorée. VBA fournit également un ensemble complet d'opérateurs logiques. Parmi ceux-ci, Not, And, et Or sont les plus fréquemment utilisés.
Opérateur
Ce qu'il fait | Non |
---|---|
Effectue une négation logique sur une expression | Et |
Effectue une conjonction logique sur deux expressions | Ou |
Effectue une disjonction logique deux expressions | Xor |
Effectue une exclusion logique sur deux expressions | Eqv |
Effectue une équivalence logique sur deux expressions | Imp |
Effectue une implication logique sur deux expressions | L'ordre de précédence pour les opérateurs dans VBA est exactement le même que dans les formules Excel. L'exponentiation a la plus haute priorité. La multiplication et la division viennent ensuite, suivies de l'addition et de la soustraction. Vous pouvez utiliser des parenthèses pour modifier l'ordre de précédence naturel, en faisant précéder tout opérateur de ce qui est entre parenthèses. Jetez un oeil à ce code: |
x = 3 y = 2 z = x + 5 * y
Lorsque le code précédent est exécuté, quelle est la valeur de z? Si vous avez répondu 13, vous obtenez une étoile dorée qui prouve que vous comprenez le concept de priorité de l'opérateur. Si vous avez répondu 16, lisez ceci: L'opération de multiplication (5 * y) est effectuée en premier, et ce résultat est ajouté à x.
De nombreux programmeurs ont tendance à utiliser des parenthèses même lorsqu'elles ne sont pas obligatoires. Par exemple, dans la vie réelle, cette dernière phrase peut être écrite comme ceci:
z = x + (5 * y)
Ne vous gênez pas pour utiliser des parenthèses, même si elles ne sont pas obligatoires Cela rend votre code plus facile à comprendre. VBA ne se soucie pas si vous utilisez des parenthèses supplémentaires.
