Somme par groupe de compte

Résolu/Fermé
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 29 mai 2017 à 17:11
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 31 mai 2017 à 16:17
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

A voir également:

10 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié le 29 mai 2017 à 17:43
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!
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
29 mai 2017 à 19:24
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 ...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
30 mai 2017 à 08:28
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 mai 2017 à 10:46
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

0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
30 mai 2017 à 11:59
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 mai 2017 à 13:42
Tu parles au départ d'une feuille "groupe" et d'une feuille "divers"

ton envoi ne correspond pas à cette assertion...
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
30 mai 2017 à 17:19
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
31 mai 2017 à 08:29
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
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
31 mai 2017 à 10:26
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
31 mai 2017 à 10:58
A force, tu me décourages...
DANS TON CLASSEUR REEL QUELLES SONT LES FEUILLES QUE TU AS APPELE "GROUPE" ET "DIVERS" ?
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
31 mai 2017 à 13:12
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
31 mai 2017 à 14:51
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
0
max850 Messages postés 305 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
31 mai 2017 à 16:17
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
0