Le langage VBA est une déclinaison du langage BASIC conçu pour interagir avec les applications du pack Office. La version du VBA adjointe à Excel permet d’interagir avec les feuilles de calcul et notamment d’écrire dans ses cellules.
Pour interagir avec les cellules Excel, il faut définir l’adresse de la cellule (ou de la plage de cellules) concernée et la nature du résultat à écrire (formule de calcul ou résultat donné par une formule de calcul).
1. définir l’adresse de la cellule :
- Cells (ligne, colonne) : adresse la cellule identifiée par ses numéros de ligne et de colonne ; exemple avec la cellule A3 :
.cells(3,1)
- Range(adresse cellule) : adresse la cellule ou la plage de cellules désignée ; exemple avec la cellule A3 puis la plage de cellules de A3 à C8 :
.Range("A3) .Range("A3:C8")
2. définir la nature du résultat à écrire :
- .Value : cette propriété envoie le résultat du calcul, soit ici 129 :
.Value = "=SUM(B9:B15)"
- .Formula : cette propriété, ainsi que les suivantes, envoie la formule de calcul rédigée en anglais dans la cellule Excel désignée,
- .FormulaLocal : cette propriété réalise la même fonction que .Formula mais à partir d’une formule de calcul rédigée en français,
- .FormulaR1C1 : cette propriété équivaut à .Formula mais les cellule sont référencée au format R1C1 au lieu de A1,
- .FormulaLocalR1C1 : cette propriété équivaut à FormulaR1C1 mais à partir d’une formule de calcul rédigée en français,
- .FormulaArray : cette propriété permet de lancer des calculs matriciels (elle équivaut à la combinaison des touches Ctrl+Maj+Entrée lorsque l’on saisit une formule matricielle dans une feuille de calcul Excel).
Exemples :
.Formula = "=SUM(B9:B15)" .FormulaLocal = "=SOMME(B9:B15)" .FormulaR1C1 = "=SUM(R9C2:R15C2)"
Chacune de ces formules stockera l’expression “=SOMME(B9:B15)” avec la version française d’Excel.
Et pour finir, le code source associant l’adresse de la cellule à modifier à la nature du résultat à obtenir se rédige ainsi :
Range("A1").Formula = "=SUM(B9:B15)"
Approfondir le sujet : Programmer en VBA
Derniers articles parBenoît RIVIERE (voir tous)
- Projet IXP (v1.2beta) : quelques nouvelles de mon interpréteur d’expressions - dimanche 1 décembre 2024
- Nouveautés de l’interpréteur de formules de calcul (v1.1) - dimanche 3 novembre 2024
- Dématérialisation de la facturation : nouvelles mentions obligatoires - lundi 28 octobre 2024
- Interpréteur de formules de calcul en Python - dimanche 13 octobre 2024
- Les données de la facturation électronique - mercredi 9 octobre 2024
Pingback: EXCEL : calculs conditionnels avec les fonctions MIN et MAX – Audit & Systèmes d'Information