Problème VBA avec un TCD

Bonjour à Tous,

Totalement néophyte en VBA, je rencontre le problème suivant:

J'ai créé avec l'enregistreur une macro pour réaliser un TCD.

Dans la colonne "Etiquette de données" le champ nommé "Pièce" doit apparaître et également dans la colonne "Valeur".

Quand j'exécute la macro, le champ "Pièce" disparaît de la colonne "Etiquette de données".

Quelqu'un a-t-il une idée, une solution ou toute autre suggestion pour résoudre ce problème

D'avance merci pour vos réponse et meilleures salutations

Rampon_23

14test-export.xlsm (45.68 Ko)

Bonjour,

Peux-tu nous préciser l'objectif du TCD?

Cdlt.

Jean-Eric a écrit :

Bonjour,

Peux-tu nous préciser l'objectif du TCD?

Cdlt.

Bonjour,

L'objectif est de connaître le nombre de fois qu'une pièce est utilisée, quel ordre de fabrication réserve cette pièce etc.

Le fichier Excel provient d'un export d'un ERP et est modifié chaque jour.

Ceci fait partie d'une gestion logistique.

Corfialement

Rampon_23

Bonjour,

A te relire pour un complément d'informations.

Cdlt.

Option Explicit
Option Private Module
Public Sub Create_PT()
Dim wsS As Worksheet, wsD As Worksheet
Dim rng As Range
Dim ptCache As PivotCache
Dim pt As PivotTable
Dim pf As PivotField

    Application.ScreenUpdating = False

    Set wsS = Worksheets("Export_ZJ")
    Set wsD = Worksheets("TCD 1")

    Set rng = wsS.Range("A1").CurrentRegion

    With wsD
        On Error Resume Next
        .PivotTables(1).TableRange2.Delete
        On Error GoTo 0
        .[A1:I1].EntireColumn.Clear
        .Activate
    End With

    Set ptCache = _
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
        SourceData:=rng, Version:=xlPivotTableVersion14)

    Set pt = _
        ptCache.CreatePivotTable(TableDestination:=Cells(1, 1), _
        TableName:="TCD_1", defaultversion:=xlPivotTableVersion14)

    pt.ManualUpdate = True

    pt.AddFields RowFields:= _
        Array("Type", "Pièce", "Date Besoin", "Activité"), _
        ColumnFields:="Orig. Couverture"

    With pt.PivotFields("Pièce")
        .Orientation = xlDataField
        .Function = xlCount
        .Caption = "nb Pièces"
    End With

    With pt
        .TableStyle2 = "PivotStyleMedium2"
        .RowAxisLayout xlTabularRow
        .ShowDrillIndicators = False
        '.DisplayFieldCaptions = False
    End With

    For Each pf In pt.PivotFields
        pf.Subtotals(1) = True
        pf.Subtotals(1) = False
    Next pf

    pt.ManualUpdate = False

    [A1:I1].EntireColumn.AutoFit
    [A1].Select

    Set pt = Nothing: Set ptCache = Nothing
    Set rng = Nothing
    Set wsS = Nothing: Set wsD = Nothing

End Sub

Bonjour

Merci beaucoup Jean-Eric

Mon problème semble résolu. Je vais tester tout ça en grandeur nature.

Si d'autres questions se posent, je reviendrai volontiers sur ce site.

Cordialement

Rampon_23

Bonjour,

Pense à clore le sujet, si tu es satisfait.

Cdlt.

Rechercher des sujets similaires à "probleme vba tcd"