XL 2019 Somme en VBA

Gribouille66

XLDnaute Nouveau
Bonjour à toutes, à tous
avec EXCEL (office 2019)
j'aimerai faire la somme dans une colonne qui sera plus ou moins longue
j'ai fait la macro qui m'a donné pour les 38 cellules
ActiveCell.FormulaR1C1 = "=SUM(R[-38]C:R[-1]C)"
j'ai remplacé 38 par une variable qui évolue en fonction du nombre de lignes de cette colonne
mais ça plante la macro au niveau de la formule

Si vous avez une solution, je suis preneur

j'ai fait une boucle (For to next), ça fonctionne mais la somme
est très peu différente (0.01)

si vous avez le temps de vous pencher sur mon problème
Merci
 
Solution
@Gribouille66

1)
je reconnais que je suis pas simple
Non c'est pas cela mais quand on feuilletonne l'énoncé c'est un peu agaçant
Tu peux pas donner toutes les infos en une seul fois

2)
Tu connais la soustraction ?

Donc quand tu dois enlever les 8 premières lignes

Tu fais toutes les lignes - 8 premières lignes !!!

VB:
Sub MaSomme()
Dim Total&
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("H" & Rows.Count).End(xlUp).Row + 1

Range("H" & Derlig) = Application.Sum([H:H]) - Application.Sum([H1:H8])
Range("I" & Derlig) = Application.Sum([I:I]) - Application.Sum([I1:I8])

End Sub


3)
vous êtes formidable et à l'écoute de nos soucis
Là je suis d'accord 🤣;)

@Phil69970

Jacky67

XLDnaute Barbatruc
Bonjour à toutes, à tous
avec EXCEL (office 2019)
j'aimerai faire la somme dans une colonne qui sera plus ou moins longue
j'ai fait la macro qui m'a donné pour les 38 cellules
ActiveCell.FormulaR1C1 = "=SUM(R[-38]C:R[-1]C)"
j'ai remplacé 38 par une variable qui évolue en fonction du nombre de lignes de cette colonne
mais ça plante la macro au niveau de la formule

Si vous avez une solution, je suis preneur

j'ai fait une boucle (For to next), ça fonctionne mais la somme
est très peu différente (0.01)

si vous avez le temps de vous pencher sur mon problème
Merci
Bonjour,
Essaye
Code:
ActiveCell.Formula = "=SUM(a:a)"
Ou mettre le classeur en PJ
 

Phil69970

XLDnaute Barbatruc
Re

@Gribouille66

Je ne suis pas sur que tu lis tous les messages .... o_O

Et si tu veux avoir le résultat en B1 par exemple

[B1] = Application.Sum([A:A])

Le code adapté à ton fichier :

VB:
Sub MaSomme()
Dim Total&
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("H" & Rows.Count).End(xlUp).Row + 1
Range("H" & Derlig) = Application.Sum([H:H])
Range("I" & Derlig) = Application.Sum([I:I])
End Sub

Et avec le fichier !!!

*Merci de ton retour

@Phil69970
 

Pièces jointes

  • Somme V1.xlsm
    21.4 KB · Affichages: 5

Staple1600

XLDnaute Barbatruc
Bonsoir

A des fins purement récréatives
(quoique...)
VB:
Sub Sommation_sans_tir()
Dim Bazinga$
Bazinga = ActiveCell.CurrentRegion.Address
Set Ma_Somme = Cells(Rows.Count, ActiveCell.Column).End(3)(2)
MaSomme = Application.Sum(Range(Bazinga))
Ma_Somme.Value = MaSomme
End Sub
 

Gribouille66

XLDnaute Nouveau
Re

@Gribouille66

Je ne suis pas sur que tu lis tous les messages .... o_O



Le code adapté à ton fichier :

VB:
Sub MaSomme()
Dim Total&
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("H" & Rows.Count).End(xlUp).Row + 1
Range("H" & Derlig) = Application.Sum([H:H])
Range("I" & Derlig) = Application.Sum([I:I])
End Sub

Et avec le fichier !!!

*Merci de ton retour

@Phil69970
c'est magnifique mais petit problème l'addition prend toute la colonne mais sur les 6ères lignes
il y a des nombres qui ne doivent pas s'ajouter
je reconnais que je suis pas simple et que vous êtes formidable et à l'écoute de nos soucis
merci...
 

Pièces jointes

  • Somme V1.xls
    51 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Bonsoir.
j'aimerai faire la somme dans une colonne qui sera plus ou moins longue
j'ai fait la macro qui m'a donné pour les 38 cellules
ActiveCell.FormulaR1C1 = "=SUM(R[-38]C:R[-1]C)"
j'ai remplacé 38 par une variable qui évolue en fonction du nombre de lignes de cette colonne
Ce n'est pas ça qu'il fallait faire. Il fallait mettre le numéro de la ligne de départ, si elle ne change jamais, juste derrière le R et sans crochet. Si c'est la 10 par exemple :
VB:
ActiveCell.FormulaR1C1 = "=SUM(R10C:R[-1]C)"
 

Phil69970

XLDnaute Barbatruc
@Gribouille66

1)
je reconnais que je suis pas simple
Non c'est pas cela mais quand on feuilletonne l'énoncé c'est un peu agaçant
Tu peux pas donner toutes les infos en une seul fois

2)
Tu connais la soustraction ?

Donc quand tu dois enlever les 8 premières lignes

Tu fais toutes les lignes - 8 premières lignes !!!

VB:
Sub MaSomme()
Dim Total&
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("H" & Rows.Count).End(xlUp).Row + 1

Range("H" & Derlig) = Application.Sum([H:H]) - Application.Sum([H1:H8])
Range("I" & Derlig) = Application.Sum([I:I]) - Application.Sum([I1:I8])

End Sub


3)
vous êtes formidable et à l'écoute de nos soucis
Là je suis d'accord 🤣;)

@Phil69970
 

Pièces jointes

  • Somme V2.xlsm
    19.3 KB · Affichages: 6

Gribouille66

XLDnaute Nouveau
@Gribouille66

1)

Non c'est pas cela mais quand on feuilletonne l'énoncé c'est un peu agaçant
Tu peux pas donner toutes les infos en une seul fois

2)
Tu connais la soustraction ?

Donc quand tu dois enlever les 8 premières lignes

Tu fais toutes les lignes - 8 premières lignes !!!

VB:
Sub MaSomme()
Dim Total&
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("H" & Rows.Count).End(xlUp).Row + 1

Range("H" & Derlig) = Application.Sum([H:H]) - Application.Sum([H1:H8])
Range("I" & Derlig) = Application.Sum([I:I]) - Application.Sum([I1:I8])

End Sub


3)

Là je suis d'accord 🤣;)

@Phil69970
comme dirait un...mais c'est bien sur, ça m'a pas fait TILT
vous êtes vraiment les meilleurs
merci
bonne nuit
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote