Analysons la 1ère
ligne du code.
ActiveCell.FormulaR1C1 = "25" .
Nous avons entré 25 dans la cellule
A1 ou L()C(). Le fait de cliquer sur une cellule d'une feuille active
cette cellule ce que traduit VBA par l'objet ActiveCell.
Puisque l'on modifie cette cellule en entrant une valeur, VBA traduit
cette action par la méthode FormulaR1C1.
Cela nous donne ActiveCell.FormulaR1C1
car chaque terme est obligatoirement séparé par un point
dans la syntaxe VBA.
Le fait de modifier le contenu d'une cellule,
c'est-à-dire affecter à cette cellule une nouvelle valeur
se traduit par le signe égale ("=") suivi de la valeur
entrée, valeur entre guillemets.
Ce qui nous donne bien : ActiveCell.FormulaR1C1
= "25"

Si vous souhaitez seulement automatiser des taches
simples, ne vous souciez pas de la syntaxe puisque VBA Excel enregistre
le code pour vous.
Par contre, comprendre la manière
dont VBA interprète les déplacements (relatifs ou absolus)
est beaucoup plus intéressant puisqu'il vous permet de créér
des macros extrêmement souples après avoir enregistré
une simple macro pour l'exemple.
Regardons le code de la seconde ligne (déplacement
de la cellule active de A1 en B1):
Range("B1").Select
car vous êtes en mode absolu par défaut.
Si vous aviez enregistré le code
en référence relative, vous auriez obtenu
le code suivant: ActiveCell.Offset(0, 1).Range("A1").Select

Nous retrouvons ensuite un code
similaire à la 1ère ligne. Simplement, le 25 est remplacé
par 26 que nous avons entré dans la colonne B1.

le code de la 4ème ligne
est similaire à la seconde ligne. Seul changement en mode absolu
:
Range("B1").Select
est remplacé par Range("C1").Select.
En mode relative, la ligne est identique
à la ligne 2 (ActiveCell.Offset(0, 1).Range("A1").Select)
puisque l'on se déplace d'une cellule vers la droite.

la formule "Somme" cellule
A1 + cellule B1 est traduit par VBA de la façon suivante :
ActiveCell.FormulaR1C1="SUM(RC[-2]:RC[-1]). Nous connaissons déjà
les termes à gauche du signe "égal". La syntaxe
est identique à la ligne 1. Par contre, nous découvrons
à droite du signe "egal" comment VBA a interprété
la formule "SOMME(A1:B1)". La formule est d'abord entourée
de guillemets (") puis VBA fait appel à la fonction VBA
SUM suivi des paramêtres correspondants à ceux que nous
avons entré. On peut constater que la fonction VBA "SUM"
utilisent toujours des arguments en références relatives
et remplace les parenthèses par des crochets, ainsi "RC[-2]"
signifie Row (rang) Column (colonne) -2 soit 2 colonnes
à gauche de la position actuelle.

La dernière ligne du code
ressemble beaucoup à la 2ème et la 4eme ligne puisqu'il
s'agit d'un déplacement d'une cellule vers le bas provoqué
par la touche "Entrée" (comportement par défaut
d'Excel qui déplace la cellule active vers le bas après
appuis de la touche "Entrée".
|