Bonjour le forum,
Pour dépanner Mat il me fallait par VBA envoyer une formule avec une variable dans une cellule. Je m'y suis cassé les dents !...
Si j'écrivais :
Range("G1").FormulaR1C1 = "=3*RC[-4]"
Aucun problème. J'obtenais en G1 la formule =3*C1.
Mais 3 étant variable j'ai voulu écrire :
Dim VAR As Double
VAR = CDbl(Range("S1").Value)
Range("G1").FormulaR1C1 = "=" & VAR & "*RC[-4]"
Impossible ! Erreur systématique. J'ai essayé ! FormulaR1C1Local, Formula, FormulaLocal, en adaptant selon le cas mais rien n'y a fait ! Toujours le même problème de guillemets je pense.
Après une recherche dans le forum j'ai trouvé une solution :
Dim VAR As Double
VAR = CDbl(Range("S1").Value)
Range("G1").FormulaR1C1 = "=""" & VAR & """*RC[-4]"
Si VAR vaut 3,11 Ça me renvoie en G1 la formule = "3,11"*D1 (avec des guillemets autour de la varaible) mais ça marche.
Quelqu'un aurait-il une explication à cela. Ça me paraît tellement incongru ces triple guillemets dans VBA et surtout les guillemets dans la formule finale.
Merci à ceux qui prendront le temps de lire ce post.