Microsoft 365 Faire une somme des données par investisseur

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

liod21

XLDnaute Nouveau
Bonjour à tous,

je veux faire la somme de mes lignes qui ont le même user. En gros, j'ai 2 feuilles "Summary_final " et "Summary" et je veux transférer les données de Summary dans Summary_final. Par exemple, le User 24 c'est facile car il a acheté que un seul produit mais le user 104 a acheté 4 produits différents et donc j'ai besoin de la somme de tous ces produits ( de la colonne C à H) et je veux les mettre alors dans mon user 104 de mon autre feuille. Il faut alors passer de la capture d'écran "feuille de base " à "ex_corrige".

Merci 🙂
 

Pièces jointes

  • ex_non_corrige.PNG
    ex_non_corrige.PNG
    24.4 KB · Affichages: 19
  • ex_feuille_de_base.PNG
    ex_feuille_de_base.PNG
    31.6 KB · Affichages: 18
  • ex_corrige.PNG
    ex_corrige.PNG
    31.3 KB · Affichages: 18
Bonjour à tous,

Pas besoin de VBA, voyez le fichier joint.

Formule matricielle en A2, à tirer vers le bas :
Code:
=SIERREUR(INDEX(SUMMARY!A:A;PETITE.VALEUR(SI((SUMMARY!A$2:A$100<>"")*NON(NB.SI(A$1:A1;SUMMARY!A$2:A$100));LIGNE(SUMMARY!A$2:A$100));1));"")
Formule normale en B2 à tirer à droite et vers le bas :
Code:
=SI($A2="";"";SOMME.SI(SUMMARY!$A$2:$A$100;$A2;SUMMARY!C$2:C$100))
Adapter au besoin la limite 100 dans les formules.

A+
 

Pièces jointes

Si l'on tient au VBA on peut utiliser la commande Consolider, le code de la 1ère feuille :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
[A1].CurrentRegion.Delete xlUp 'RAZ
With Sheets("SUMMARY").[A1].CurrentRegion
    [A1].Consolidate Sources:=.Address(, , xlR1C1, External:=True), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False 'commande Consolider
    Columns(3).Resize(, .Columns.Count - 2).Cut [B1] 'couper-coller pour supprimer la 2ème colonne
End With
[A1] = "User"
End Sub
La macro se déclenche automatiquement quand on active la feuille.

A+
 

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
4
Affichages
480
Réponses
40
Affichages
2 K
Retour