Calcul de la somme de plusieurs colonnes [Résolu/Fermé]

Signaler
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
-
Bonjour,
Pourriez vous m'indiquer comment faire la somme de chaque colonne à partir
de la colonne E sur la même dernière ligne vide

je peux le faire sur une colonne avec

Range("E" & Cells.Find("*", , , , , xlPrevious).Row + 2) = Application.Sum(Range(E5).EntireColumn)

mais je voudrais que ce code s'applique à une rangée de cellules disons de E:G

merci

15 réponses

Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
bonsoir Le Pingou
en postant ce sujet je ne pensais pas soulever une telle montagne. Sans doute que mes explications n'étaient pas assez claires. j'en suis vraiment très confus

si nous prenons la feuille journalrecette
je voudrais que chaque fois que je rentre une information via mon userform dans la colonne E F G H I J ou K ou sur les 5 colonnes le total de chaque colonne systématiquement s'affiche sur la dernière ligne vide de l'ensemble de ces colonnes. S i l'une des colonne est vide s'affichera 00.00. ces totaux seraient réactualisés donc à chaque entrée d'info

ceci à partir de la colonne E jusqu'à la colonne K et de la ligne A3 jusqu'à la dernière ligne non vide
je ne travaille pas directement sur la feuille mais via un userform

supposons que la dernière info soit entrée en E7 et que la dernière ligne vide soit donc la ligne A8
les totaux de chaque colonne E F G H I J OU K s'inscriront dans E8 F8 G8 H8 I8 J8 K8

En appuyant sur le bouton de commande de mon userform
je renseigne les différentes colonnes de ma feuille Journalrecette
et je voudrais que cette manip me fasse donc en même temps les totaux de chaque colonne de cette feuille comme expliqué ci-dessus

merci
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
4148
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 365
Bonjour

A tester

Option Explicit
Sub *****()
Dim Fin As Long, Liste As Range
Fin = Columns("B").Find("*", , , , , xlPrevious).Row
Set Liste = Range("E2:G" & Fin)
Range("E1") = Application.Sum(Liste)
End Sub

Cordialement
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
bonjour jc80

non je ne récupère aucune somme
Messages postés
4148
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 365
Tu veux la somme des 3 colonnes dans quelle cellule?
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
non je veux la somme de chaque colonne a partir de la colonne E jusqu'à la colonne G sur la dernière ligne vide de ma feuille


si ma dernière ligne vide correspond à E10 je veux la somme de la colonne E en E10, la somme de la colonne F en F10, G en G10
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
bonsoir
Pourriez vous m'aider à comprendre pourquoi le code suivant me génère que des 0000
dans mes colonnes alors qu'y figurent bien des nombres

merci

Private Sub CommandButton1_Click()
Dim L as Integer
Dim i as Integer

With ActiveSheet

L = .Range("A65536").End(xlUp).Row + 1

For i = 5 To .UsedRange.Columns.Count
.Cells(L, i).Formula = "=SUM(" & .Range(.Cells(7, i), .Cells(21, i)).Address & ")"

Next

End With
End Sub
Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 143
Bonjour Max, Jv
Option Explicit
'----------------------------------
Sub totaliser_colonnes()
Dim Derlig As Integer, DerCol As Integer, Lig As Integer, Col As Integer

Application.ScreenUpdating = False

With ActiveSheet
Derlig = .Columns("E").Find(what:="*", searchdirection:=xlPrevious).Row
DerCol = .Rows(5).Find(what:="*", searchdirection:=xlPrevious).Column
Lig = Derlig + 1
For Col = 5 To DerCol
.Cells(Derlig, Col) = Application.Sum(.Range(.Cells(5, Col), .Cells(Derlig, Col)))
Next
End With
End Sub


 Michel
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Michel merci pour ta contribution

j'ai placé ta procédure dans mon programme mais sans succès
je t'envoie le fichier pour que tu puisses y voir plus clair

merci




https://www.cjoint.com/c/FADpY6ztf1v
Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021
3 143
fallait l'envoyer AVANT plutôt que mettre un code bidon
Donc, tu fais l'effort d'adapter à ton classeur

terminé en ce qui me concerne, je ne suis pas taillable et corvéable à merci
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2 >
Messages postés
16391
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 février 2021

je me demande vraiment où je suis tombé. ce code n'était pas bidon

je t'ai envoyé le fichier pour ne pas voir à te donner des explications plus ou moins claires dans mon jargon de non-informaticien et juste donc pour avoir des explications pour pouvoir corriger mes fautes moi-même, pas pour que tu fasses le travail à ma place
je me suis sans doute mal exprimé mais cela ne justifie en rien cette fin de non-recevoir
pour le moins pas élégante du tout
Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Bonjour,
Juste en passant, en admettant que ce soit sur la feuille [journalrecette] dont vous parlez, il n’y a aucun besoin de faire des totaux de colonne avec une macro, un simple : SOMME(E4 :E21] dans la cellule [E23] suffit.
Ou alors vos explications ne sont pas correctes… !

Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Bonjour,
Merci pour le complément d’information.
En première vue je pense que vous compliquez ce qui est simple.
Je vous donnerai une proposition d’ici lundi.
Bon dimanche.

Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Bonjour,
Juste une question : pourquoi ne pas mettre les totaux directement sous les noms de colonnes… !

Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
effectivement pourquoi pas ce serait immédiatement lisible


merci
Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Bonsoir,
Merci
Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Bonjour,
Ma proposition, voir feuille [journalrecette], totaux via fonction [SOMME()].
Votre fichier : https://www.cjoint.com/c/FAFnxyBz7Ms

Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Bonsoir Le Pingou
Votre excellent travail me convient parfaitement. C'est exactement ce que je voulais. j'ai juste ajouté "Report" dans D4 en défusionnant D3

Merci beaucoup beaucoup

je considère donc mon problème comme résolu
Messages postés
9889
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
26 février 2021
1 129
Merci max850,
Content pour vous.