C'est plus ou moins le même problème, en effet
Tu essaies de concaténer un objet Range avec des chaines de caractères dans l'expression de la formule, alors que celle-ci (ce qui se trouve entre parenthèses) doit être l'expression excel en anglais de la formule que tu saisirais sur ta feuille de calcul (donc avec l'adresse de la cellule).
Tu dois donc utiliser la propriété .Address et être attentif aux références relatives et absolues dans la création de la chaîne de caractères qui exprimera ta formule.
Vu le contexte, tu pourrais écrire
activecell10.Formula = "= "& activell10.Offset(0,8).address &" / Q5"
Note également que Q5 est relatif.
Attention que la propriété .Address renvoie l'adresse absolue (avec les $) et correspond donc à
activecell10.Formula = "= "& activell10.Offset(0,8).Address(True,True) &" / Q5"
Si tu veux du relatif, tu dois utiliser
activecell10.Formula = "= "& activell10.Offset(0,8).Address(False, False) &" / Q5"
En fait, tu dois recomposer la chaine de caractères qui correspond à la formule en anglais utilisée dans Excel.
Partager