Cet exemple illustre la différence entre A1, R1C1 et Style R[1]C[1] dans Excel VBA.
1. Placez un bouton de commande sur votre feuille de calcul et ajoutez la ligne de code suivante (style A1) :
Plage("D4").Formule = "=B3*10"
Résultat:
2. Ajoutez la ligne de code suivante (style R1C1) :
Plage("D4").FormuleR1C1 = "=R3C2*10"
Résultat:
Explication : la cellule D4 fait référence à la cellule B3 (ligne 3, colonne 2). Il s'agit d'une référence absolue (symbole $ devant le numéro de ligne et la lettre de colonne).
3. Ajoutez la ligne de code suivante (style R[1]C[1]) :
Plage("D4").FormuleR1C1 = "=R[-1]C[-2]*10"
Résultat:
Explication : la cellule D4 fait référence à la cellule B3 (une ligne au-dessus et 2 colonnes à gauche). C'est une référence relative. Cette ligne de code donne exactement le même résultat que la ligne de code utilisée à l'étape 1.
4. Pourquoi apprendre cela ? Parce que l'enregistreur de macros utilise la propriété FormulaR1C1 (style R[1]C[1]). L'enregistreur de macros crée les lignes de code suivantes si vous entrez la formule =B3*10 dans la cellule D4.
Explication : vous pouvez voir qu'il s'agit exactement de la même ligne de code utilisée à l'étape 3.