Vous pouvez au cours d’une macro VBA, écrire une formule dans une cellule. Il existe plusieurs manière de le faire, selon si vous souhaitez des références relatives ou absolues.
Référence relative de style A1
Ce type de référence est le plus simple et le plus compréhensible car elle fait appel directement au nom de la cellule en question. Lorsque vous rentrez l’instruction ci-dessous, une formule est écrite avec des références relatives.
Range("A1").Formula = "=B2+1"
Référence absolue de style R1C1
Pour écrire une formule avec des références absolues(les lignes et colonnes sont figées), il faut utiliser la commande .FormulaR1C1 et donner le numéro de la ligne et de la colonne. La formule inscrite utilise alors des références absolues ( la formule apparait avec des signes $).
Range("A1").FormulaR1C1 = "=R4C4"
Référence relative de style R[1]C[1]
Si vous souhaitez écrire une référence relative en partant de la position de la cellule dans laquelle est inscrite la formule, vous pouvez le faire en utilisant .FormulaR1C1 également et en indiquant le décalage en ligne et en colonne.
Range("B2").FormulaR1C1 = "=R[-1]C[-1]"