Creation d'un pivot

Y compris Power BI, Power Query et toute autre question en lien avec Excel
A
AstraMen
Membre habitué
Membre habitué
Messages : 60
Inscrit le : 26 décembre 2015
Version d'Excel : 2016

Message par AstraMen » 22 novembre 2019, 11:48

Bonjour,

Pouvez-vous m'aider car j'ai crée une macro et mon pivot ne fonctionne pas.
Je vous envoi mon fichier et dedans il y a mes demandes.
Pouvez-vous jeter un coup d'oeil et voir où est mon soucis?

Merci d'avance pour votre aide :wink:
New_template planning MFT_test 1.xlsm
(402.02 Kio) Téléchargé 10 fois
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 23 novembre 2019, 14:11

Bonjour

J'ai regardé ton pb et démarré la création du TCD mais je voudrais avoir des infos plus précises car la partie macro enregistrée est inexplorable quand on ne connait pas la finalité du tableau:

- des noms courts pour les champs de la base de départ
- une maquette du TCD final

Dans l'attente

FINDRH
A
AstraMen
Membre habitué
Membre habitué
Messages : 60
Inscrit le : 26 décembre 2015
Version d'Excel : 2016

Message par AstraMen » 24 novembre 2019, 14:34

Bonjour,

Merci pour ton retour.

Au fait sur mon tableau initial (comme sur la pièce jointe) je devrai obtenir après la macro un tableau plus compensé avec uniquement comme résultats les colonnes en mauves (fichier Brut)

Une fois la macro lancée il me restera les colonnes en mauves, il faudrait également récuperer la variable dans mon pivot qui se crée avec la macro.. ( Besoin de l'info dans le pivot: colonne NART - DESCRIPTION - 1CW - 2CW - 3CW - 4 CW - 5 CW et le split entre DISPLAY - DP LIGHT - MSF (voir ci-dessous *))

Mon soucis est que initiallement j'ai les titres des colonnes: 1 CW 2 CW 3 CW 4 CW 5 CW (qui seront variables ) c'est parce que je dois faire une mise à jours de mon planning toutes les semaines et les 1 CW 2 CW 3 CW 4 CW 5 CW deviendront 6 CW 7 CW 8 CW 9 CW 10 CW et ainsi de suite jusqu'a 52 CW et mon soucis c'est que mon pivot une fois je change de semaine il me met en erreur.

Par contre pourrais-je te demander une petite choses si c'est possible bien évidement?

- dans l'export on pourrait rajouter dans la macro la suppression automatiques des "zéro quantités" (Total FC visible)?
* - pour la colonne montage j'aimerai bien que quand il trouve DP/DSP dans les libéllés (colonne E)=> il mettent DISPLAY et s'il y a pas DP ou DSP dans le libéllé => DP LIGHT et tout ce qui est en PACK (colonne B) le mettre sous MSF.

Voici le fichier Brute et aussi un exemple de résultat.
J'espère été plus clair :-)
New_template planning MFT_test 1_BRUT.xlsx
(184.09 Kio) Téléchargé 4 fois
New_template planning MFT_test 1_resultat.xlsx
(32.9 Kio) Téléchargé 4 fois
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 25 novembre 2019, 11:38

Bonjour

ci joint une proposition de construction de la base de données pour batir ensuite les TCD.

une première étape;

- deux fichiers Extractions et résultat
- ouvrir résultat, onglet lancer et cliquer sur le bouton
- ouvrir extraction ( ou ton fichier récupéré avec l'onglet export)
- le résultat est une base de données qui inclura toujours toutes les semaines et toutes les colonnes xxOP

Cela te convient il ?

Cordialement

FINDRH
Résultat.xlsm
(188.5 Kio) Téléchargé 3 fois
Extraction.xlsx
(184.46 Kio) Téléchargé 2 fois
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 25 novembre 2019, 17:39

re bonsoir

J'ai essayé d’avancer sur tes TCD

Petit pb il n'y a pas de colonne Montage dans ta base ou le nom d'une colonne existante a t il été changé ?

Cordialement

FINDRH
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'745
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 25 novembre 2019, 19:51

Bonjour,
Essaie ainsi :
Option Explicit
' Keyboard Shortcut: Ctrl+p
Public Sub Pivot_Planning2()
Dim wb As Workbook
Dim wsData As Worksheet, wsPT As Worksheet
Dim rngData As Range
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim pf As PivotField

    Set wb = ActiveWorkbook
    Set wsData = wb.Worksheets("Export")
    Set rngData = wsData.Cells(1).CurrentRegion
    Set wsPT = wb.Worksheets("PIVOT")

    On Error Resume Next
    wsPT.PivotTables(1).TableRange2.Clear
    On Error GoTo 0

    Set PTCache = wb.PivotCaches.Create(xlDatabase, rngData)
    Set PT = PTCache.CreatePivotTable(wsPT.Cells(3, 1), "PT_1")

    With PT
        .ManualUpdate = True
        .AddFields RowFields:=Array("NART", "NART Description (FR) / COMPO Name")
        With .PivotFields("1 CW")
            .Orientation = xlDataField
            .Position = 1
            .Function = xlSum
            .Caption = ChrW(931) & " 1 CW"
        End With
        With .PivotFields("2 CW")
            .Orientation = xlDataField
            .Position = 2
            .Function = xlSum
            .Caption = ChrW(931) & " 2 CW"
        End With
        With .PivotFields("3 CW")
            .Orientation = xlDataField
            .Position = 3
            .Function = xlSum
            .Caption = ChrW(931) & " 3 CW"
        End With
        With .PivotFields("4 CW")
            .Orientation = xlDataField
            .Position = 4
            .Function = xlSum
            .Caption = ChrW(931) & " 4 CW"
        End With
        With .PivotFields("5 CW")
            .Orientation = xlDataField
            .Position = 5
            .Function = xlSum
            .Caption = ChrW(931) & " 5 CW"
        End With
        For Each pf In .RowFields
            pf.Subtotals(1) = True
            pf.Subtotals(1) = False
        Next pf
        .InGridDropZones = True
        .RowAxisLayout xlTabularRow
        .ManualUpdate = False
    End With

End Sub
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 26 novembre 2019, 08:05

Bonjour Jean Eric

Merci pour ce code qui me sera bien utile pour avancer.... et pas que dans ce cas. ta syntaxe simple contraste avec ce qu'on récupère en enregistrant et adaptant .....

Par contre il me faut d'abord consolider la base avec les bonnes rubriques, il y a des discordances entre la base et les résultats attendus .. colonnes absentes....

Question subsidiaire... .. si j'ai bien compris les colonnes en fin d'année iront de 1 CW à 52 CW, mais le TCD ne portera que sur 5 semaines consécutives.

Cette syntaxe fonctionnerait elle :

vcol1="2 CW" ==> vcol5 = "6 CW" pour déterminer les colonnes à suivre

==>With .PivotFields(vcol1)

Merci d'avance

Cordialement

FINDRH
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'745
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 26 novembre 2019, 09:01

Bonjour,
Si je comprends tons souci, il faudrait donc faire une boucle sur les en-têtes de colonnes comportant CW ?
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
F
FINDRH
Membre impliqué
Membre impliqué
Messages : 1'402
Appréciations reçues : 15
Inscrit le : 12 février 2010
Version d'Excel : 2016

Message par FINDRH » 26 novembre 2019, 09:24

3ème essai d'envoi.... je me fais systématiquement jeter....

Oui j'avais prévu de faire une boucle pour créer le nom des colonnes à reprendre dans le TCD, le N° de départ étant saisi vis un formulaire ==> par ex vcol2

Dans ce cas puis je remplacer dans ma ligne de code :

With .PivotFields("2 CW")

par

With .PivotFields(vcol2)

Merci,pour ton retour

Cordialement

FINDRH
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'745
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 26 novembre 2019, 11:37

Re,
Dans l'idée, oui !...
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Creation d'un pivot avec une macro
    par AstraMen » 13 mars 2019, 22:41 » dans Excel - VBA
    7 Réponses
    121 Vues
    Dernier message par Jean-Eric
    17 mars 2019, 20:19
  • Powr Pivot
    par simonastefan » 20 mai 2019, 13:32 » dans Excel - VBA
    16 Réponses
    240 Vues
    Dernier message par simonastefan
    27 mai 2019, 12:09
  • Pivot Table
    par FlavienP » 25 juin 2018, 11:12 » dans Excel - VBA
    13 Réponses
    276 Vues
    Dernier message par FlavienP
    26 juin 2018, 15:21
  • Pivot table
    par Sofia Soa » 19 mai 2016, 11:21 » dans Excel - VBA
    3 Réponses
    235 Vues
    Dernier message par papysg
    19 mai 2016, 13:43
  • Pivot table
    par RiDim » 12 août 2014, 10:22 » dans Excel - VBA
    1 Réponses
    386 Vues
    Dernier message par Dan
    12 août 2014, 13:06
  • Power pivot / TC
    par edubettier » 22 décembre 2014, 08:54 » dans Excel - VBA
    4 Réponses
    526 Vues
    Dernier message par Jean-Eric
    23 décembre 2014, 05:52