XL 2013 Somme tant que

  • Initiateur de la discussion Initiateur de la discussion sdsdsd
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sdsdsd

XLDnaute Nouveau
Bonjour a tous,

Je cherche une fonction qui pourrait m'aider a additioner des valeurs en K tant que C reste identique.
Je m'explique:
2021-03-04 09_14_33-Projet_Devis - OfficielV6 - Excel.png

J'ai a ma disposition des Concepts (en gras en C) constitués d'Options. Le prix de vente des Concept est égale a la somme des Options. J'ai pour l'instant recours a une macro pour calculer ce prix de vente, mais le format n'est pas assez dynamique pour que je puisse l'utiliser.

Je cherche donc une fonction qui calculera le prix des Concept en additionant K tant que C = Option. Lorsque la fonction rencontre un autre Concept, elle arretera d'aditionner.
J'ai illustré ce que devra faire la formule dans la photo ci apres.
2021-03-04 11_11_41-Projet_Devis - OfficielV6 - Excel.png


Je galére la dessus depuis ce matin...En esperant avoir été comprehensible,

Bonne soiree
Ariane
 
Bonsoir Sdsdsd, Bruno,
Un essai en PJ avec une fonction perso :
VB:
Function SumConcept(C$)
    L = ActiveCell.Row - 1
    While Cells(L, "B") = C
        Somme = Somme + Cells(L, "K")
        L = L - 1
    Wend
    SumConcept = Somme
End Function
Syntaxe : =SumConcept(B10) B10 étant la cellule contenant la référence à compter.
 

Pièces jointes

Bonjour sdsdsd, brunom45😉, sylvanu 😉 , le forum

De ma compréhension, par UDF sur les cellules en jaune.

VB:
Function sumplage(rng)
'-par UDF
frow = Split(Split(rng.Address, "$")(2), ":")(0)
drow = Split(rng.Address, "$")(4)
colrng = Cells(1, Split(rng.Address, "$")(1)).Column
'ta = rng.Value
i = Application.Caller.Row
j = Application.Caller.Column
   For m = i - 1 To frow + 1 Step -1
       If Cells(i, colrng) <> Cells(m, colrng) Then
         sumplage = sumplage + Cells(m, colrng).Offset(0, j - colrng).Value
       Else
       Exit Function
       End If
    Next m
End Function

bonne journée
zebanx
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
773
Réponses
16
Affichages
2 K
Réponses
7
Affichages
3 K
Retour