-
Prog Excel via VB
Bonjour,
Voila mon souci sur Excel
Dans une macro, je demande à écrire une formule dans une case
Mais lorsque Excel note la formule, les cases de références sont notées entre guillemets simples ce qui les empeche de fonctionner correctement
Ex Dans la macro
Code:
Worksheets("Reste à consommer").Cells(j, 3).FormulaR1C1 = "=SOMME('Planning'!E" & k & ":" & "BL" & k & ")"
Mais dans la cellule, il écrit pour par exemple k=13
Code:
=SOMME('Planning'!E13:BL13)
Ce qui fait que la formule ne fonctionne pas à cause des guillements
J’ai meme le cas sur une formule plus simple du type
Code:
Worksheets("Reste à consommer").Cells(j, 3).FormulaR1C1 = "=SOMME('Planning'!E13:BL13) "
Où il va écrire la meme chose
Code:
=SOMME('Planning'!E13:BL13)
Il insere donc des guillemets simples meme dans une zone texte.
Si vous savez ce qui cloche, merci d'avance.
Coconut2
-
Utilise FormulaLocal plutot que FormulaR1C1 ca devrait fonctionner
Code:
Worksheets("Reste à consommer").Cells(j, 3).FormulaLocal = "=SOMME('Planning'!E13:BL13) "
Jerome
-
Merci Jérome
Remplacer FormulaR1C1 par FormulaLocal fonctionne sur les sommes mais pas sur les somme.si
le code
Code:
Worksheets("Echéancier d'engagement").Cells(m, l).FormulaLocal = "=('Etude detaillee'!D98)*(SOMME.SI('Planning'!B" & CStr(n) & ":B" & CStr(k) & ",""=charge interne"",'Planning'!E" & CStr(n) & ":E" & CStr(k) & ")"
Me renvoie l'erreur 1004 erreur définie par l'application ou par l'objet
Toutes mes variables sont identifiées et ont des valeurs.
Quelle est la différence entre R1C1 et FormulaLocal? et surtout y a t'il des différences de regles d'écriture
J'ai essayé en remplacant FormulaR1C1 par Formula et ca marche sauf que sur la feuille excel je dois reprendre les formules (message #NOM?)
en me positionnant sur les cellules
en tapant F2
Puis entrée sans meme modifier la formule.
Merci de ta réponse
-
Sinon utilise l'enregistreur de macro comme ca il te donnera le bon code
-
Je ne pense pas que cette méthode soit génial Marsupilami.
Par contre j'ai essayé quand meme et l'enregistrement de macro à varié mon texte. J'ai donc repris cette variation et il se trouve qu'en remplacant le somme.si par l'équivalent anglais SUMIF dans la formule, ca marche du tonnerre!
Merci à tous pour vos réponses