Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

comment ajouter un tèrme à une formule ?

mazuno

XLDnaute Nouveau
bonjour, j'ai une grosse formule de ce style
Code:
=SOMMEPROD(G701:G710;F701:F710)+PRODUIT(G670;F670)+PRODUIT(G639;F639)+PRODUIT(G608;F608)+PRODUIT(F577;G577)+PRODUIT(F546;G546)+PRODUIT(F515;G515)+PRODUIT(F484;G484)+PRODUIT(F453;G453)+PRODUIT(F422;G422)+SOMMEPROD(F380:F390;G380:G390)+PRODUIT(F352;G352)+PRODUIT(F330;G330)+PRODUIT(F299;G299)+SOMMEPROD(F287:F298;G287:G298)+PRODUIT(F276;G276)+PRODUIT(F222;G222)+PRODUIT(F175;G175)+PRODUIT(F158;G158)+PRODUIT(F149;G149)+PRODUIT(F133;G133)+PRODUIT(F110;G110)+PRODUIT(F93;G93)+PRODUIT(F67;G67)+PRODUIT(F35;G35)+PRODUIT(F31;G31)+PRODUIT(F19;G19)+PRODUIT(F7;G7)+PRODUIT(F6;G6)
dans la quelle j'aurai besoin d'ajouter des termes (des produits de 2 cellules comme ceux déjà présents) j'ai donc écrit cette ligne
Code:
 ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 + "+RODUCT(R[29]C[-1],R[29]C[0])"
qui va ajouter un terme à ma formule, cela fonctionne.
le problème c'est que si j'exécute a nouveau cette ligne 1 ou 2 fois j'ai un message d'erreur "mémoire insuffisante" et je ne peut donc plus ajouter de terme à ma formule

j'espère que vous avez compris quel était mon problème^^

quelqu'un connait un moyen pour "rallonger" une formule en contournant ce problème de mémoire?

merci
 

CMoa

XLDnaute Occasionnel
Re : comment ajouter un tèrme à une formule ?

Bonjour mazuno

essaye comme ceci:
Code:
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 & "+PRODUCT(R[29]C[-1],R[29]C[0])"
attention à l'ortographe de ton nom P RODUCT
 

mazuno

XLDnaute Nouveau
Re : comment ajouter un tèrme à une formule ?

ha oui merci j'avai mal recopié sur le forum mais ma formule est écrite correctement dans mon code, l'erreur ne vient pas de la ><

merci quand meme
 

mazuno

XLDnaute Nouveau
Re : comment ajouter un tèrme à une formule ?

Bonjour, j'ai opté pour une solution différente qui semble mieux marcher :
Code:
    ActiveCell.Offset(1, 0).FormulaR1C1 = "=PRODUCT(R[" & DiffDeLignes & "]C6,R[" & DiffDeLignes & "]C)"
    ActiveCell.Offset(1, 0).Copy
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlAdd, _
        SkipBlanks:=False, Transpose:=False

je m'explique : j'écrit le bout de formule que je veux rajouter dans une cellule en dessous, je la copie, et je fait un collage special en mode addition. le résultat est bon mais le problème c'est que excel m'ajoute plein de parenthèses :
Code:
=((SOMMEPROD(G702:G711;$F702:$F711)+PRODUIT(G671;$F671)+PRODUIT(G640;$F640)+PRODUIT(G609;$F609)+PRODUIT($F578;G578)+PRODUIT($F547;G547)+PRODUIT($F516;G516)+PRODUIT($F485;G485)+PRODUIT($F454;G454)+PRODUIT($F423;G423)+SOMMEPROD($F381:$F391;G381:G391)+PRODUIT($F353;G353)+PRODUIT($F331;G331)+PRODUIT($F300;G300)+SOMMEPROD($F288:$F299;G288:G299)+PRODUIT($F277;G277)+PRODUIT($F223;G223)+PRODUIT($F176;G176)+PRODUIT($F159;G159)+PRODUIT($F150;G150)+PRODUIT($F134;G134)+PRODUIT($F111;G111)+PRODUIT($F94;G94)+PRODUIT($F68;G68)+PRODUIT($F36;G36)+PRODUIT($F19;G19)+PRODUIT($F7;G7)+PRODUIT($F6;G6))+(PRODUIT($F32;G32)))+(PRODUIT($F31;G31))
j'ai donc comme vous pouvez le voir une concaténation des parenthèses que j'aimerai éviter.
connaissez vous une option du collage spécial qui permet de ne pas mettre ces parenthèses?
je ne sais pas si je suis très clair mais c'est assez compliqué à expliquer lol
merci de votre aide
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…