Somme par groupe de compte [Résolu/Fermé]

Signaler
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
max850
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
Bonsoir,

Dans la colonne N de ma feuille"groupe" j'ai une série de comptes 50 51 60 61 65.
je voudrais à partir de cette colonne rechercher dans la colonne B de ma feuille"divers"
tous les comptes commençant par 50 51 60 61 et 65, faire le somme par ligne et inscrire automatiquement le total de chaque ligne de compte dans la colonne O de ma feuille"groupe" en face du compte correspondant
les deux feuilles sont dans le même classeur.
Je peux le faire au coup par coup mais je voudrais automatiser cette procédure en la lançant par un bouton de commande
je vous remercie de votre aide

10 réponses

Messages postés
24975
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
29 mars 2020
5 118
Bonjour
à, adapter
en N à partir de N2, la liste des entêtes de comptes
en B la liste des comptes
en C la liste des montants correspondants à chaque ligne
tout dépend de vos codes complet, s(ils sont en nulmréique ou en texte dans la colonne B
essayez soit avec:
=SOMME.SI(B:B;O2&"*";C:C)
soit avec celle ci en matricielle qui "encaissera" les codes textes ou standards et éliminera les cellules vides en B:

=SOMMEPROD((SI(B2:B100<>"";GAUCHE(B2:B100;2))*1=N2*1)*(C2:C100))

cette formule est matricielle et doit être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées 'elle s'affiche automatiquement entre accolades dans la barre de formule)
pour ce dernier code, il est préférable de limiter les champs B et C aux nombres de lignes utiles (ex B2:B100 et C2:C100)
(sinon le temps de calcul risque d'être un peu long!)
crdlmnt

La qualité de la réponse dépend surtout de la clarté de la question, merci!
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Bonsoir Vaucluse
et merci pour tes réponses
j'ai utilisé la formule matricielle que j'ai incluse dans ma procédure vba ce qui fait qu'elle s'exécute automatiquement et ça fonctionne très bien mais je suis obligé de répéter 5 fois ma formule pour chacun des comptes dans cette procédure
j'ai aussi essayé en sélectionnant les comptes via une combobox la aussi ca fonctionne mais je dois relancer 5 fois ma selection
je pensais à une boucle imbriquée for next mais là je ne sais pas comment m'y prendre ...
Vaucluse
Messages postés
24975
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
29 mars 2020
5 118
Je ne suis pas assez costaud pour vous aider en VBA. Pour moi la formule était destinée à un tableau qui comporte une colonne (N?) avec la liste exhaustive des référence à cumuler
Mais sans doute d'autres pourront vous aider
Bonne chance
crdlmnt
Messages postés
16129
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
27 mars 2020
2 904
Bonjour max, Vaucluse

Il y a plusieurs solutions par VBA mais tout dépend du nombre de lignes utilisées
le mieux serait de joindre ton classeur
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message

Dans l’attente

Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Bonjour Michel, Bonjour Vaucluse

merci Vaucluse pour ton implication à mon souci

Michel voici le lien avec mon fichier original

https://mon-partage.fr/f/FwUdkOiD/

je rentre mes infos dans le journal et à la validation la somme des groupes de comptes s'affichent automatiquement dans le journal
mais dans le code je ne voudrais pas avoir à répéter
Range("N10").FormulaLocal = "=SOMMEPROD((GAUCHE(D6:D" & dern & ";2)=""60"")*H6:H" & dern & ")"
Range("O10").FormulaLocal = "=SOMMEPROD((GAUCHE(D6:D" & dern & ";2)=""60"")*J6:J" & dern & ")"
Range("N10") = (Range("N10") + Range("O10"))
Range("O10").Clear
autant de fois qu'il y a de groupe de comptes

dans un deuxième temps
je pensais effectuer cette opération séparément et ponctuellement
avec un bouton de commande inclus dans userform1 mais j'en demande sans doute un peu trop ....

merci michel pour ce que tu pourras faire
Messages postés
16129
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
27 mars 2020
2 904
Tu parles au départ d'une feuille "groupe" et d'une feuille "divers"

ton envoi ne correspond pas à cette assertion...
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
oui michel effectivement
c'est ce que je voulais faire initialement avant d'abandonner et revenir à mon code de départ
j'ai été pour le moins très maladroit sur ce coup
et te présente mes excuses
michel_m
Messages postés
16129
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
27 mars 2020
2 904
Bonjour,

OK, mais ca m'avance pas plus...

quelle est la feuille que tu as appelé "groupe" et quelle est la feuille "divers" ?

Fais un effort de clarté et de précision si tu veux qu'on essaie de t'aider
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
bonjour Michel
la feuille divers était une copie de la feuille journalbord sans les colonnes abcefgmn
et la feuille groupe avait en colonne a le descriptif de chaque groupe et en b la liste des groupes de comptes correspondant aux descriptifs
la somme des comptes devant apparaître en face des groupes correspondant
aux deux premiers chiffres des comptes
par exemple :
A B C
achats denrées fourniture - 60 - somme de tous les comptes débutant par 60


Merci
Messages postés
16129
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
27 mars 2020
2 904
A force, tu me décourages...
DANS TON CLASSEUR REEL QUELLES SONT LES FEUILLES QUE TU AS APPELE "GROUPE" ET "DIVERS" ?
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
Michel en premier lieu j'avais créé un programme sans calculer les sommes par groupe et sans les colonnes M et N
Ensuite j'ai modifié ce programme pour ajouter une feuille "groupe" qui contenait les groupes de comptes avec leurs descriptifs et copier la feuille "journalbord" sous le nom de "divers".
J'ai abandonné ce projet pour revenir à mon premier programme et le modifier en ajoutant les colonnes M et N et calculer les sommes des groupes de compte
avec sommeprod
les feuilles "groupe" et"divers" n'existent pas dans le ficher que tu as

j'aimerais dans un premier temps ne pas avoir à répéter le code sommeprod autant de fois qu'il y a de groupe de code

et dans un deuxième temps pouvoir calculer les sommes ponctuellement avec un bouton de commande ce que je voulais faire dans le programme abandonné.

Pourrais tu simplement m'indiquer comment ne pas avoir à répéter mon code sommeprod

pour le deuxième temps j'y reviendrai plus tard en essayant d'être plus clair ayant suffisamment abusé de ta patience
michel_m
Messages postés
16129
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
27 mars 2020
2 904
les feuilles "groupe" et"divers" n'existent pas dans le ficher que tu as

C'et ce que j'avais déjà remarqué et t'en avait part §§§

Ca me dit TOUJOURS pas dans quelle feuille de ton classeur il faut travailler

Puisque tu veux pas répondre...
abandon définitif
Messages postés
305
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
2
c'était dans le code du userform1 - dans la partie "mise à jour journal de bord"
qui correspond à la feuille journalbord


Désolé de t'avoir fait perdre ton temps