Ecrire formule somme variable avec une macro

Yohan

XLDnaute Occasionnel
Bonjour

Je fait quelque macro sur excel et j'ai un petit problème.

Je remplie une colonne dont le nombre d'éléments est variable. En gros je rentre une valeur dans une fenêtre et cela remplie la case A1 si la case est vide autrement cela remplie la case A2 si celle-ci est vide ou A3 ....

Après cela je veux sommer toutes ces valeurs, de même avec une macro, je prends la première des cases de la colonne qui n'est pas remplie et je veux lui rentrer la somme de toutes les valeurs de la colone.

exemple en A1 j'ai 2 en A2 j'ai 4 et je somme donc en A3 je veux =somme(A1:A2).

et je veux bien la formule somme car je suis susceptible de changé la case A1 après.

je voulais rentrer cela mais cela ne marche pas.

Dim cell1 As Range
Set cell1 = Range("O" & i - 1)
Range("O" & i).Formula = "=Somme(O13:cell1)"

avec i la première case vide de la colone que j'ai déterminer dans cette même macro.

la formule Range("O" & i).Formula = "=Somme(O13:"O" & i)" ou Range("O" & i).Formula = "=Somme(O13:Oi)"
ne marche pas de même


Quelqu'un pourrait m'aider svp ?
 

jim7963

XLDnaute Junior
Re : Ecrire formule somme variable avec une macro

Bonjour,

je pense que quelque-chose comme ça devrait fonctionner:

Dim DerLigne As Long
DerLigne = Columns(1).Find("*",,,,xlbyRows,xlPrevious).Row 'pour trouver la dernière ligne non vide de la colonne A

Range("A" + Cstr(DerLigne + 1)).FormulaR1C1 = "=SUM(R1C:R[-1]C)" 'insertion de la formule

Après il existe d'autres façons de trouver la dernière ligne, à chacun sa méthode favorite.
 

Yohan

XLDnaute Occasionnel
Re : Ecrire formule somme variable avec une macro

merci Paf cela marche nickel j'avais déjà testé de passer par une variable string pour la mettre égal à une formule mais je sais pas pourquoi peut être la formulation mais cela n'avait pas marché.

c'est sûrement le "& ....&" qu'il me manquer

cela fait que 2 jour que je fais des macro sous excel :eek: donc j'ai encore un peu des problème avec les formulations
 

Yohan

XLDnaute Occasionnel
Re : Ecrire formule somme variable avec une macro

juste une dernière question
pourquoi si je tape MaFormule = "=Sum(" & MaPlage & ")-RC[-3]/10"

à la place de la formule que vous m'avez donné MaFormule = "=Sum(" & MaPlage & ")"
quand je vais sur la case il m'écrit en formule =SOMME('O14':'O15')-Q15/10 donc des ' qui m'embête puisqu'elle empêche le calcul
 

Dranreb

XLDnaute Barbatruc
Re : Ecrire formule somme variable avec une macro

Bonjour.
Dans ce cas c'est FormulaR1C1 qu'il faut utiliser, et, à moins que ce soit un nom, MaPlage doit aussi être une expression en notation R1C1. Et pour finir d'en faire le tour, en français, pour du L1C1 c'est FormulaR1C1Local
 

Statistiques des forums

Discussions
314 450
Messages
2 109 727
Membres
110 552
dernier inscrit
jasson