Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Réaliser un tableau avec le cumul de chaque produit

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

davidp

XLDnaute Occasionnel
Bonsoir le forum ,

j'ai une nouvelle fois besoin de votre aide pour résoudre un petit problème.

J'ai une base données qui me remonte environ 14 000 Lignes traitant environ 300 Produits différents.

L'idéal serait pour moi de réaliser un tableau qui me donnerait une ligne avec le cumul de chaque produit. j'ai essayé par le biais d'un tableau dynamique mais je n'ai pas réussit.

En annexe , j'ai réalisé un petit exemple simplifié


Merci d'avance pour celui qui pourra m'aider ou me guider

Bonne soirée

DAVID
 

Pièces jointes

Re : Réaliser un tableau avec le cumul de chaque produit

Bonsoir davip,

Avec en E28 : =SOMMEPROD(($C$8:$C$24=$C28)*($D$8:$D$24=$D28)*$E$8:$E$24)

et en F28 : =SOMMEPROD(($C$8:$C$24=C28)*($D$8:$D$24=D28)*$F$8:$F$24)

A te lire.

Bonne soirée.

Jean-Pierre

Retire les espaces qui se sont glissés dans les formules.
 
Re : Réaliser un tableau avec le cumul de chaque produit

Bonsoir à Jean pierre et JCGL ,

merci à tous les 2 de vous êtes penché sur mon problème. Je pense êtres + d'attaque pour essayer via le Tableau dynamique. (le travail de Jean Pierre me parait complexe par rapport au nombre de lignes traitées et mon niveau...).

JCGL ,est il possible d'avoir les données "somme de sortie d'usine et somme de vente magasin" sur la même ligne (dans des colonnes différentes) pour chaque code produit.

Bonne soirée à tous les 2 et MERCI

DAVID
 
Re : Réaliser un tableau avec le cumul de chaque produit

Rebonjour JCGL,

pas de problème ,merci pour ton aide .
Ce sont mes premiers pas dans les tableaux dynamiques , j'espère apprendre vite.

Bonne nuit et Merci

DAVID
 
Re : Réaliser un tableau avec le cumul de chaque produit

Bonsoir à tous

Une proposition de code VBA dans le classeur joint.
Les données étant dans la feuille "DATA", la procédure "collecte" associée à cette feuille affiche le résultat souhaité dans la feuille "RECAP".
Voici le code commenté :
Code:
Option Explicit

Sub collecte()
'
' Procédure créée le 13 Brumaire CCXVII (03.11.2008)
' ROGER2327
'
Dim i As Long, j As Long, s As String
Dim c, d, r
    d = Me.Cells(1, 1).CurrentRegion                'd=Tableau des données
    ReDim r(1 To 2, 1 To 1)                         'r=Tableau des <Code produit>
    r(1, 1) = d(1, 2)                               '"Code produit"
    r(2, 1) = d(1, 3)                               '"Accessoire"
    For i = 2 To UBound(d, 1)                       'Lecture des <Code produit> dans d
        s = d(i, 2)                                 '<Code produit> dans la ligne i
        For j = 1 To UBound(r, 2)                   'Recherche de s dans r
            If r(1, j) = s Then Exit For            'Si s est déjà dans r, fin de la recherche
        Next j
        If j > UBound(r, 2) Then                    '...alors s n'est pas dans r
            ReDim Preserve r(1 To 2, 1 To j)        'Ajout d'un enregistrement à r
            r(1, j) = s                             '...auquel on affecte s
            r(2, j) = d(i, 3)                       '...et la valeur <Accessoire> associée
        End If
    Next i
    ReDim c(1 To UBound(r, 2), 1 To UBound(d, 2))   'c=Tableau de collecte
    For j = 1 To UBound(d, 2)                       'Remplissage de la première ligne de c (intitulé des colonnes)
        c(1, j) = d(1, j)
    Next j
    For i = 2 To UBound(r, 2)                       'Lecture des <Code produit> dans r
        s = r(1, i)
        c(i, 1) = "Toutes rubriques"
        c(i, 2) = s                                 'Affectation d'un <Code produit> dans la ligne i
        c(i, 3) = r(2, i)                           '...et de la valeur <Accessoire> associée
        For j = 2 To UBound(d, 1)                   'Pour chaque ligne du tableau de données...
            If d(j, 2) = s Then                     '...le <Code produit> est-il s ?
                c(i, 4) = c(i, 4) + d(j, 4)         'Si OUI, cumul des valeurs de <Sortie Usine>
                c(i, 5) = c(i, 5) + d(j, 5)         '...et de <vente magasin>
            End If
        Next j
    Next i
    With ThisWorkbook.Sheets("RECAP")               'Sortie de la collecte dans la feuille "RECAP"
        .Cells.ClearContents                        'Effacement de la collecte antérieure
        .Range(.Cells(1, 1), .Cells(UBound(c, 1), UBound(c, 2))).Value = c
        .Activate                                   'Affichage de la collecte
    End With
End Sub
La procédure présente l'avantage de la légèreté et de la capacité de traiter une liste de données de longueur variable.

Remarque : la procédure doit être placée dans la feuille "DATA" et non dans un module quelconque.

Bon courage,
ROGER2327
 

Pièces jointes

Re : Réaliser un tableau avec le cumul de chaque produit

Bonjour Roger2327,

je te remercie pour ton travail , je vais l'adapter à mon besoin dans la soirée.Je vous tiens au courant car là je dois aller travailler.

A ce soir , et MERCI

DAVID
 
Re : Réaliser un tableau avec le cumul de chaque produit

Bonjour Roger2327,JCGL,


Super génial cela fonctionne , un grand merci pour ce travail d'horlogerie, je vais étudier le code en profondeur.

nb: Si JCGL a la procédure pour réaliser un résultat similaire via un tableau croise dynamique , je suis preneur car un jour ou l'autre je serai confronté à une base données avec + ou - de colonnes (je suis pas pressé).

Merci à tous les 2 pour le temps que vous m'avez consacré

Bonne journée

DAVID
 
- 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

A
Réponses
6
Affichages
958
allarmen
A
A
Réponses
37
Affichages
4 K
asso78Lim
A
I
Réponses
2
Affichages
1 K
informaticum2000
I
D
Réponses
5
Affichages
1 K
Dominic74
D
S
Réponses
7
Affichages
1 K
S
D
Réponses
9
Affichages
1 K
dexvholt
D
T
Réponses
2
Affichages
1 K
Tubule
T
C
Réponses
0
Affichages
850
CorentinM
C
S
Réponses
7
Affichages
978
Soph'
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…