XL 2013 Insérer formule SOMME dans Cell en VBA

Paninak

XLDnaute Nouveau
Bonjour au forum,

Je recherche la bonne formule pour insérer dans une cellule en VBA la somme d'une colonne entre deux lignes.
Je connais le nom du classeur, le nom de la feuille, la colonne à calculer à partir de la ligne de départ et de la ligne d'arrivée.

Par exemple

DerLig = Split(OB.UsedRange.Address, "$")(4)
' ligne où sera écrite la formule
DerLig2 = DerLig + 1

' Si dernière ligne n'est pas déjà une formule

If Not OB.Cells(DerLig, 3).HasFormula Then

' Trouver la formule précédente
Do While Not OB.Cells(DerLig, 3).HasFormula And DerLig > 1
DerLig = DerLig - 1
Loop

' Ecrire formule SUM de Totaux
Cells(DerLig2, 3).FormulaLocal = "=SUM(C" & DerLig & ":C" & DerLig2 & ")"

End If

Mais cela n'écrit rien dans la cellule. Du coup, je ne suis même pas sûr de la façon d'écrire la formule à cause des
guillemets.
Et si je pouvais remplacer la façon de noter la colonne "C" par son numéro en Double, ce serait mieux encore.

Quelqu'un peut-il repérer l'erreur ?

Merci
 

Dranreb

XLDnaute Barbatruc
Re : Insérer formule SOMME dans Cell en VBA

Bonjour
Pourquoi cessez vous soudain de préciser OB.Cells(DerLig2, 3).FormulaLocal = "=SUM(C" & DerLig & ":C" & DerLig2 & ")" ?
À mon avis ça écris la formule dans la Cells(Derlig2, 3) de la feuille active, qui n'est pas la OB.
Et une mauvaise formule en plus parce que SUM n'existe pas en FormulaLocal français.
Utilisez plutôt FormulaR1C1 :
VB:
OB.Cells(DerLig2, 3).FormulaR1C1 = "=SUM(R" & DerLig + 1 & "C" & NumCol & ":R[-1]C" & NumCol & ")"
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
334

Statistiques des forums

Discussions
312 329
Messages
2 087 329
Membres
103 517
dernier inscrit
hbenaoun63