Somme sans doublon selon deux critères

  • Initiateur de la discussion Initiateur de la discussion ennida
  • 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 !

E

ennida

Guest
Bonjour,

J'ai une base de données pour laquelle on me demande un récapitulatif selon deux critères
Le Nombre de Commandes par acheteur (chose faite grâce à l'aide de JB 🙂)
Le total des commandes d'un montant supérieur à 500 euros par acheteur : formule pour laquelle je sollicite de l'aide.

ps: Je ne souhaite pas toucher à la base en supprimant les doublons sur le numéro de commande.

Ci-joint mon exemple plus parlant

Merci d'avance,
 

Pièces jointes

Re : Somme sans doublon selon deux critères

Bonjour

Tu peux essayer avec
Code:
SOMMEPROD((E2=B$2:B$17)*C$2:C$17/NB.SI(A$2:A$17;A$2:A$17))
, ce qui donne dans ton exemple, pour MARTIN, 3200 et pour PIERRE, 5300.

@ plus
 
Re : Somme sans doublon selon deux critères

Bonjour,

Je ne souhaite que totaliser les sommes supérieures à 500 euros donc dans le cas présent je ne compte pas la commande de 200 et de 300

Merci
 
Re : Somme sans doublon selon deux critères

Re
cf. fichier à tester au niveau de la véracité du résultat (sur le fichier exemple joint, cela semble fonctionner) et du temps d'exécution.
Code:
Sub TotalAchatCond()
Dim DerLignea&, DerLigneb&, Résultat&, i&, j&
DerLignea = Range("C" & Rows.Count).End(xlUp).Row
DerLigneb = Range("F" & Rows.Count).End(xlUp).Row
a = Range("C2:C" & DerLignea)
b = Range("F2:F" & DerLigneb)
    For i = 2 To DerLigneb
        For j = 2 To DerLignea
            If Cells(j, 2) = b(i - 1, 1) Then
                If Cells(j, 4) > 500 Then
                    Résultat = Résultat + Cells(j, 4)
                End If
            End If
        Next j
        Dim c()
        ReDim Preserve c(1 To UBound(b))
        c(i - 1) = Résultat
        Résultat = 0
    Next i
    Range("L2:L" & DerLigneb) = Application.Transpose(c)
End Sub
Dis-moi déjà ce qu'il en est et si c'est ok, peut-être qu'une transformation de la Sub en fonction sera plus adaptée.
A+
 

Pièces jointes

Re : Somme sans doublon selon deux critères

Merci David,

Effectivement transformer ta macro en fonction me parait bien 🙂 C'est déjà le cas pour le nombre de commandes.

Dois je juste changer le nom de ta macro en l'intitulant "Function" et ensuite dans les cellules ou je dois afficher le résultat quelle est la formule? Similaire à celle du nombre de commandes? merci
 
Re : Somme sans doublon selon deux critères

Re
non, pour l'instant, copie tes données dans le fichier exemple et teste la macro pour vérifier la véracité des résultats et le temps de calcul (adapter si besoin le code pour que les plages traitées correspondent).
Si c'est ok, nous verrons ensuite comment faire.
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
26
Affichages
2 K
D
Réponses
0
Affichages
685
D
S
Réponses
12
Affichages
1 K
sablondjoseph
S
J
Réponses
3
Affichages
1 K
jackyste88
J
Retour