VBA et EXCEL : écrire dans une cellule

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.

Tableau Excel

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

Share Button
The following two tabs change content below.
Benoît RIVIERE
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Un commentaire

  1. Pingback: EXCEL : calculs conditionnels avec les fonctions MIN et MAX – Audit & Systèmes d'Information

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.