OVH Cloud OVH Cloud

ajouter une somme par macro

6 réponses
Avatar
arnaud
Bonjour à tous !
J'ai un tableau avec des chiffres dans ma colonne G.
J'aimerai par macro, obtenir la somme de la colonne G et la positionner en
bas de cette colonne (le nombre de ligne est variable)
Merci !
Arnaud

6 réponses

Avatar
claudy
bonjour...
Sub sommeColonne()
Dim zaza As Double
zaza = Application.WorksheetFunction.Sum(Range("G1:G" &
Range("G64000").End(xlUp).Row))

Range("G64000").End(xlUp)(2) = zaza

End Sub


a+
Claudy
"arnaud" a écrit dans le message de news:
%
Bonjour à tous !
J'ai un tableau avec des chiffres dans ma colonne G.
J'aimerai par macro, obtenir la somme de la colonne G et la positionner en
bas de cette colonne (le nombre de ligne est variable)
Merci !
Arnaud




Avatar
Ardus Petus
Sub CalcTotal()
Dim firstcell As Range
Dim lastcell As Range

'Première cellule de la comonne
Set firstcell = Range("G1") 'ou G2 si la colonne a un titre en G1

'Recherche de la dernière ligne occupée de la colonne
Set lastcell = Cells(Rows.Count, firstcell.Column).End(xlUp)

'Positionnement de la formule
lastcell.Offset(1, 0).Formula = _
"=SUM(" & Range(firstcell, lastcell).Address(0, 0) & ")"
End Sub

Cordialement
--
AP


"arnaud" a écrit dans le message de
news:%
Bonjour à tous !
J'ai un tableau avec des chiffres dans ma colonne G.
J'aimerai par macro, obtenir la somme de la colonne G et la positionner en
bas de cette colonne (le nombre de ligne est variable)
Merci !
Arnaud




Avatar
arnaud
j'ai mis :
ActiveCell.FormulaR1C1 = "=SUM(" & Range(firstcell, lastcell).Address(0, 0)
& ")"
Mais j'obtiens un #Nom? car la formule est : =SOMME('G1':'G2')

Que puis je mettre dans ma formule pour qu'il m'enlève le ' ???

Merci d'avance !
Arnaud


"Ardus Petus" a écrit dans le message de news:

Sub CalcTotal()
Dim firstcell As Range
Dim lastcell As Range

'Première cellule de la comonne
Set firstcell = Range("G1") 'ou G2 si la colonne a un titre en G1

'Recherche de la dernière ligne occupée de la colonne
Set lastcell = Cells(Rows.Count, firstcell.Column).End(xlUp)

'Positionnement de la formule
lastcell.Offset(1, 0).Formula = _
"=SUM(" & Range(firstcell, lastcell).Address(0, 0) & ")"
End Sub

Cordialement
--
AP


"arnaud" a écrit dans le message de
news:%
Bonjour à tous !
J'ai un tableau avec des chiffres dans ma colonne G.
J'aimerai par macro, obtenir la somme de la colonne G et la positionner
en


bas de cette colonne (le nombre de ligne est variable)
Merci !
Arnaud








Avatar
Ardus Petus
Dans la macro VBA, la formule doit rester en anglais. Laisse-la comme je
t'ai indiqué.

--
AP

"arnaud" a écrit dans le message de
news:%
j'ai mis :
ActiveCell.FormulaR1C1 = "=SUM(" & Range(firstcell, lastcell).Address(0,
0)

& ")"
Mais j'obtiens un #Nom? car la formule est : =SOMME('G1':'G2')

Que puis je mettre dans ma formule pour qu'il m'enlève le ' ???

Merci d'avance !
Arnaud


"Ardus Petus" a écrit dans le message de news:

Sub CalcTotal()
Dim firstcell As Range
Dim lastcell As Range

'Première cellule de la comonne
Set firstcell = Range("G1") 'ou G2 si la colonne a un titre en G1

'Recherche de la dernière ligne occupée de la colonne
Set lastcell = Cells(Rows.Count, firstcell.Column).End(xlUp)

'Positionnement de la formule
lastcell.Offset(1, 0).Formula = _
"=SUM(" & Range(firstcell, lastcell).Address(0, 0) & ")"
End Sub

Cordialement
--
AP


"arnaud" a écrit dans le message de
news:%
Bonjour à tous !
J'ai un tableau avec des chiffres dans ma colonne G.
J'aimerai par macro, obtenir la somme de la colonne G et la
positionner



en
bas de cette colonne (le nombre de ligne est variable)
Merci !
Arnaud












Avatar
JB
Bonjour,

Début champ en G2:

[G65000].End(xlUp).Offset(1, 0).FormulaR1C1 = "=SUM(R[-" &
[G65000].End(xlUp).Row - [G2].Row + 1 & "]C:R[-1]C)"


JB
Avatar
arnaud
J'ai mis votre formule en fin de macro mais, j'ai un message de référence
circulaire....
Qu'est ce qui gène ??

Merci de votre aide...

Arnaud


"JB" a écrit dans le message de news:

Bonjour,

Début champ en G2:

[G65000].End(xlUp).Offset(1, 0).FormulaR1C1 = "=SUM(R[-" &
[G65000].End(xlUp).Row - [G2].Row + 1 & "]C:R[-1]C)"


JB