Cumul doublons via VBA

capture

Bonjour,

Sur mon fichier je souhaiterais additionner les quantité pour chaque référence pour avoir une référence unique et son total dans les colonnes E , F , G

Pouvez-vous m'aider à réaliser cela svp ?

Merci d'avance

Bonjour,

Merci de joindre un fichier et pas une capture d'écran.

Un solution avec une formule matricielle et sommeprod

@+

Bonjour voici

merci d'avance pour votre aide

15mouvstk.xlsx (143.46 Ko)

Bonjour,

Les formules matricielles vont être longues à calculer.

Pour info, en E2 il faudrait mettre

=SI(LIGNE(B2)>SOMMEPROD(1/NB.SI(A$2:A$6106;A$2:A$6106));"";INDEX(A$2:A$6106;MIN(SI(NB.SI(E$1:E2;A$2:A$6106)=0;LIGNE(A$2:A$6106)-1))))

Le temps de traitement sera très long ( 6106 lignes).

Il faut envisager VBA. Je vais m'y pencher pour le plaisir ( mais je ne suis pas expert loin de là).

@+

Bonsoir,

Une essai avec une macro basique.

A Vérifier

24mouvstk.xlsm (207.68 Ko)

Bonjour,

Les données sont sous forme de tableau et les résultats restitués dans un TCD (tableau croisé dynamique).

Cdlt.

16antho45000.xlsx (217.06 Ko)

Bjr Jean eric

merci pour ce tableau c'est parfait, peut on filtrer le Σ Qté sortie? du plus grand au plus petit?

Merci beaucoup bernard22

Re,

Oui, comme dans une plage ou un tableau.

Voir fichier.

Cdlt.

17antho45000.xlsx (231.10 Ko)
snip 20181130181343

Bonjour Antho45000, le forum,

je te retourne ton fichier modifié :

24mouvstk.xlsm (154.74 Ko)

Ctrl e ➯ travail effectué !


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

@Antho45000

* le tableau résultat précédent est trié dans l'ordre croissant de "Code article"

* avec le fichier ci-dessous, tri en ordre décroissant des Sommes quantités

4mouvstk.xlsm (154.75 Ko)

dhany

Re,

Une nouvelle proposition.

Si une solution VBA était à privilégier !...

Cdlt.

12antho45000.xlsm (330.56 Ko)
Public Sub Create_PT()
Dim wb As Workbook, ws As Worksheet
Dim rngPT As Range, PTCache As PivotCache, PT As PivotTable
    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("TCD VBA")
    Set rngPT = ws.ListObjects(1).Range
    On Error Resume Next
    ws.PivotTables(1).TableRange2.Clear
    On Error GoTo 0
    Set PTCache = wb.PivotCaches.Create(xlDatabase, rngPT)
    Set PT = PTCache.CreatePivotTable(ws.Cells(2, 8), "TCD_1")
    With PT
        .ManualUpdate = True
        .AddFields RowFields:=Array("Code article", "Libellé")
        With .PivotFields("Qté sortie")
            .Orientation = xlDataField
            .Function = xlSum
            .NumberFormat = "#,##0;[Red]-#,##0;"
            .Caption = ChrW(931) & " Qté sortie "
        End With
        .RowAxisLayout xlTabularRow
        .ShowDrillIndicators = False
        With .PivotFields("Code article")
            .Subtotals(1) = False
            .AutoSort xlDescending, PT.DataFields(1).Name
        End With
        .TableStyle2 = "PivotStyleMedium1"
        .ManualUpdate = False
    End With
End Sub

Bonjour

modification de la macro de bernard22 avec mise en forme

A voir

31mouvstk-1.xlsm (161.14 Ko)

A+

Maurice

Bonjour à tous,

Rhooo, priez pour que jmd ne passe pas par là...

Là c'est c'est l'exemple idéal d'un TCD.

eric

Bonjour,

@ archer,

Tes totaux en colonnes C et I diffèrent.

Les résultats devraient être identiques.

Cdlt.

Bonjour Antho45000,

tu voulais avoir les « Σ Qté sortie » triées du plus grand au plus petit.

c'est fait dans le fichier de ce post :

https://forum.excel-pratique.com/viewtopic.php?p=711781#p711781

si tu reviens sur ton sujet, peux-tu me donner ton avis ?


si ton sujet est résolu, merci de cliquer sur près de (coin haut droit du post)

ça permet aussi de clôturer le fil de la discussion (toi seul peut le faire, car c'est toi qui a créé ce sujet).

dhany

vérifie le code article de « SUCRE DE FLEURS DE COCO 500 G » ! d'après moi, y'a une anomalie !

sans avoir à corriger cette anomalie, les résultats correspondants seront corrects !

dhany

Rechercher des sujets similaires à "cumul doublons via vba"