Somme totale des colonnes avec une macro

INFINITY100

XLDnaute Occasionnel
Bonjour

Voila j'ai sous la main une macro qui additionne la totalité des sommes se trouvant en colonne B et jusque là ça marche bien, seulement je voudrai faire de même pour les autres colonnes C.D.E ... etc

Donc je voudrai modifier la macro ci-dessous de sorte à avoir ce que je recherche

Voici ma macro

Code:
Sub Test()
'Mettre le mot "TOTAL" dans la dernière ligne vide de la colonne A
[B1048576].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(, -1) = "Total"
'Mettre la formule "SOMME" dans la dernière ligne vide de la colonne B
If ActiveCell.Row > 5 Then
   ActiveCell = "=SUM(B5:B" & ActiveCell.Offset(-1, 0).Row & ")"
End If
End Sub

Et je joins le fichier pour êtres plus claire

Merci à vous tous

Cordialement
 

Pièces jointes

  • Classeur1.xlsm
    16.7 KB · Affichages: 35

zebanx

XLDnaute Accro
Bonjour phlaurent55, bonjour Infinity 100 et le forum

En repartant du fichier de phlaurent (court et intéressant !), avec des formules affichées et pas uniquement le résultat( macro = somme C)

cdlt
thierry
 

Pièces jointes

  • 111.xlsm
    20.2 KB · Affichages: 45

job75

XLDnaute Barbatruc
Bonsoir INFINITY100, Philippe, zebanx,
Code:
Sub Total()
With [A5].CurrentRegion
  If .Cells(.Rows.Count, 1) = "Total" Then .Rows(.Rows.Count).Delete xlUp 'RAZ
  .Rows(.Rows.Count + 1) = "=SUM(" & .Columns(1).Address(0, 0) & ")"
  .Cells(.Rows.Count + 1, 1) = "Total"
End With
End Sub
On peut exécuter la macro plusieurs fois de suite sans inconvénient.

Et la macro fonctionne bien même si le tableau est filtré.

A+
 

zebanx

XLDnaute Accro
Merci Job75 pour ces précisions.

Extrêmement épuré, diablement efficace, comme habituellement:eek::)

Faire une formule sur "x" colonnes et "y" lignes en 7 lignes dont une qui ne sert qu'à rajouter le mot "total" c'est remarquable. Donc merci d'avoir proposé ce code-là, pour ceux qui veulent apprendre, c'est chouette.

Bonne nuit.
 

INFINITY100

XLDnaute Occasionnel
bonjour Zebanx

oui comme tu as dit c'est vraiment chouette. et pour amélioré encore plus l'idée je voudrai aussi réaliser aussi un code qui renvoi les même somme dans le cellules approprier histoire d'avoir un tableau récapitulatif juste au début de page

voir fichier joint

merci à vous tous
 

Pièces jointes

  • Exemple 1.xlsm
    15.1 KB · Affichages: 37

job75

XLDnaute Barbatruc
Bonjour,

Fichier joint avec cette macro :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
ThisWorkbook.RefreshAll
Application.EnableEvents = True
End Sub
 

Pièces jointes

  • Tableau Excel et TCD(1).xlsm
    24.1 KB · Affichages: 34

Si...

XLDnaute Barbatruc
re
Re, salut Si...
Bah c'était pour ceux qui ne connaissent pas les TCD...

C'est mon cas :confused: donc je fais sans, surtout que l'utilisation de l'outil Tableau* permet bien des choses sans se préoccuper de savoir quel est l'onglet de référence, quels Formats, quelles MFC ,Formules seront copiées …

Job ;), c'est une de mes grandes lacunes, et hélas, pas la seule.

*quand on les manipule un tant soit peu
 

zebanx

XLDnaute Accro
Bonsoir à tous,

Deux autres méthodes par VBA (sommeprod et find) pour la galerie et parce que c'est un bon entrainement.

Trop long pour Job75 mais si la question a été posée pour avoir du code VBA plutôt que des formules ou un TCD, ça me parait pas trop mal.

(surtout si Job75 - ou un autre master- s'y recolle pour éliminer la moitié des lignes !! :p).

++
zebanx
 

Pièces jointes

  • produit_somme.xls
    54 KB · Affichages: 37
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Le VBA présente un intérêt quand il s'agit de créer une ligne de totaux sous le tableau.

Ce n'est plus le cas quand on place cette ligne au-dessus du tableau.

Fichier (2).

Bonne nuit.
 

Pièces jointes

  • Somme(2).xlsx
    15 KB · Affichages: 53

Discussions similaires

Réponses
21
Affichages
974
  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
311

Statistiques des forums

Discussions
312 173
Messages
2 085 937
Membres
103 052
dernier inscrit
nizar0007