Somme par groupe de compte

Résolu
max850 Messages postés 312 Statut Membre -  
max850 Messages postés 312 Statut Membre -
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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. max850 Messages postés 312 Statut Membre 3
     
    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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. max850 Messages postés 312 Statut Membre 3
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Tu parles au départ d'une feuille "groupe" et d'une feuille "divers"

    ton envoi ne correspond pas à cette assertion...
    0
  7. max850 Messages postés 312 Statut Membre 3
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  8. max850 Messages postés 312 Statut Membre 3
     
    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
  9. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    A force, tu me décourages...
    DANS TON CLASSEUR REEL QUELLES SONT LES FEUILLES QUE TU AS APPELE "GROUPE" ET "DIVERS" ?
    0
  10. max850 Messages postés 312 Statut Membre 3
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  11. max850 Messages postés 312 Statut Membre 3
     
    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