Microsoft 365 Addition d'une même cellule sous condition

Matt87

XLDnaute Nouveau
Bonjour à tous,

Je cherche depuis plusieurs jours une façon d'additionner une même cellule de plusieurs feuilles en fonction d'une condition.
J'ai trouvé sur le net une tonne d'information sur le sujet, mais rien s'adaptant vraiment à ma situation.

D'abord le nom de mes onglets est variable, et ce en fonction du nom de chaque employé tout comme son nombre d'ailleurs(Certains employés arrive comme d'autre partent). J'ai déjà une macro qui créer un nouveau portail d'objectifs et qui se renomme en fonction du nom de l'employé. Le portail d'objectifs du nouvel employé se loge automatiquement après la dernière feuille du classeur. Chaque employé appartient à un centre de service qui figurent à la cellule V5 du portail d'objectif.

J'aimerais que les ventes des différents produits pour tous les employés du même centre de services s'additionne et se reporte à la feuille «Sommaire».
Par exemple, si l'employé #1 et #3 font partie du centre de services #2, j'aimerais que l'addition de leur ventes du produit A(Cellule H328) se reporte à la cellule D22 de la feuille «Sommaire». Si les employés sont du centre de services #1, l'addition doit se reporter à la cellule J5 de la feuille «Sommaire».


Finalement, pour chacun des employés tout centre de services confondus, j'aimerais que le total de leurs ventes pour chacun des produits se reporte aux cellules D5 à D11 également de la feuille «Sommaire».

Est-ce que ma demande est envisageable?
Je mets en pièce jointe, un fichier exemple en espérant que quelqu'un puisse trouver réponse à ma question.

Merci à l'avance pour votre soutiens et passez une excellente fin de journée !
 

Pièces jointes

  • Portail d'objectifs.xlsm
    446.4 KB · Affichages: 13

job75

XLDnaute Barbatruc
Bonjour Matt87, le forum,

Voyez le fichier joint et cette fonction VBA placée impérativement dans un module standard (Module1) :
VB:
Function Vente(centre$, produit$)
Application.Volatile
Dim num As Byte, w As Worksheet, lig&, col%, cc%
centre = Replace(centre, " ", "") 'suppression des espaces
produit = Trim(Replace(produit, "Produit", "")) 'uniquement la lettre
num = Val(StrReverse(centre))
For Each w In Worksheets
    If IsNumeric(w.Name) And w.Range("V5") = num Then
        lig = Val(CStr(Application.Match(centre, w.Columns(5), 0)))
        col = Val(CStr(Application.Match(produit, w.Rows(6), 0)))
        If lig * col Then
            cc = w.Cells(6, col).MergeArea.Columns.Count 'si cellule fusionnée
            Vente = Vente + Application.Sum(w.Cells(lig, col).Resize(, cc))
        End If
    End If
Next
End Function
Elle est utilisée dans la feuille "Sommaire", en J5 =Vente(H$3;H5)

Elle est volatile donc elle se recalcule chaque fois qu'une cellule quelconque est modifiée.

PS : j'ai neutralisé les macros Worksheet_Change et MAJ plus gênantes qu'utiles !!!

Bonne journée.
 

Pièces jointes

  • Portail d'objectifs(1).xlsm
    457.1 KB · Affichages: 7

Matt87

XLDnaute Nouveau
Bonjour Job75,

C'est exactement ce que je cherchais. Un énorme merci !

Effectivement, c'est fort possible que les deux macros soient un peu gênantes. Je débute en VBA et disons que ce que je fais n'est pas toujours très élégant j'en convient.

Cependant, en neutralisant la macro MAJ, le total des objectifs de ventes par centre de services ne se reporte plus à la feuille «Sommaire».

Auriez-vous une façon de compiler également le total des objectifs en H5 à Q5 de chacun de leurs centres de services respectifs dans la feuille «Sommaire» en I5 à I11, I22 à I28 et D5 à D11 selon le cas?

De plus, le total des ventes pour les employés dont le statut est en V5 est 5 et 6 doivent également se reporter au total réalisé dans la section «Tous les CDS» sans pour autant reporter leur objectifs par contre.

Finalement, comme je suis en mode apprentissage si vous aviez le temps de m'expliquer pas à pas la fonction vente que vous venez de me concocter se serait fort apprécié.

Un gros merci à l'avance et je vous souhaite une agréable journée !
 

job75

XLDnaute Barbatruc
Pour les objectifs voyez ce fichier (2) et cette nouvelle fonction VBA, voisine de la précédente :
VB:
Function Objectif(centre$, produit$)
Application.Volatile
Dim num As Byte, w As Worksheet, col%
produit = Trim(Replace(produit, "Produit", "")) 'uniquement la lettre
num = Val(StrReverse(centre))
For Each w In Worksheets
    If IsNumeric(w.Name) And w.Range("V5") = num Then
        col = Val(CStr(Application.Match(produit, w.Rows(6), 0)))
        If col Then Objectif = Objectif + Val(Replace(w.Cells(5, col), ",", "."))
    End If
Next
End Function
Utilisée en I5 de la feuille "Sommaire" =Objectif(H$3;H5)

A+
 

Pièces jointes

  • Portail d'objectifs(2).xlsm
    448.7 KB · Affichages: 5

Matt87

XLDnaute Nouveau
Bonjour Job75,

Merci pour tes réponses rapides, c'est vraiment gentil!

En fait, les statuts d'employés 5 et 6 ne font partie d'aucune équipe, mais leurs ventes doivent tout de même être comptabilisées dans l'ensemble de l'entreprise.

J'ai fait quelques test et je m'aperçois que lorsque que je créer un nouveau portail d'objectifs le total de leurs ventes et de leurs objectifs ne se rapporte pas à la feuille sommaire?
 

Matt87

XLDnaute Nouveau
Eh bien joignez le fichier pour qu'on voie ce qui ne va pas.
Je me suis peut-être surement mal expliqué aussi !

Pour les statuts d'employés 1, 2 et 4 en V5, le total de leurs objectifs en H5 à Q5 ainsi que le total de leurs ventes à la ligne 327 à 329 selon le cas doivent se rapporter à la feuilles «Sommaire».

Pour les statuts 5 seulement leurs ventes à la ligne 327, 328 et 329 doivent se rapporter à la feuille «Sommaire» dans leur centre de service ou est réalisé ladite vente puisque ces employés sont en déplacement d'un CDS à un autre. Le total de leurs objectifs de H5 à Q5 ne doit cependant pas se rapporter à la feuille «Sommaire».

Finalement, pour les statuts 6 en V5, le total de leurs ventes à la ligne 326 doit se rapporter dans les ventes réalisées à la feuille sommaire dans la section «CDS - Tous» puisqu'ils n'appartiennent pas à une équipe de ventes spécifique tout en faisant tout de même partie de l'entreprise.

Voici le fichier en pièce jointe.
Encore une fois, je vous remercie à l'avance pour votre soutiens, c'est plus qu'apprécié.
 

Pièces jointes

  • Portail d'objectifs.xlsm
    618.1 KB · Affichages: 6

Matt87

XLDnaute Nouveau
Est-ce que ce que je recherche est faisable sans l’ajout des repères CDS-5 et 6 ?

Le CDS-5 et 6 n’existe pas et je dois pouvoir comptabiliser les ventes des employés statut 5 selon le CDS que la vente a eu lieu cette journée là!

Peut-être que mon tableau originale peut être modifié en conséquence de ce je recherche!
 

Discussions similaires

Réponses
4
Affichages
306

Statistiques des forums

Discussions
312 336
Messages
2 087 388
Membres
103 534
dernier inscrit
Kalamymustapha