XL 2016 Créer onglet en fonction filtre rapport TCD

Nikless

XLDnaute Junior
Bonjour le forum,
J'utilise un fichier dans lequel je centralise l'ensemble des refacturations pour les filiales d'un périmètre dans un tableau, onglet "Source"
J'ai un TCD qui me permet de mettre en forme ces refacturations avec des regroupements en filtrant sur le pays.
Je souhaite adresser à chaque pays une fichier avec le montant de ses refacturations dans un TCD avec les données source uniquement de ce pays.

Je suis en mesure d'effectuer une boucle sur la base d'un critère dans une table mais je ne parviens pas à changer le filtre du rapport, ni de redéfinir la source des données.

Merci de votre aide,

Nikless
 

Pièces jointes

  • Template_TCD.xlsm
    86.8 KB · Affichages: 24

chris

XLDnaute Barbatruc
Bonjour

Le TCD permet de
  • démultiplier automatiquement un TCD dont le pays est en champ de page (afficher les pages de filtre du rapport)
  • extraire les données sources par un double clic sur le total du TCD.
En VBA cela donne
Code:
Sub Pays()
Dim ws As Worksheet, Total As Range, Pays As String, TCDSource As String

    With Worksheets("TCD").PivotTables(1)
        .PivotFields("Country").ClearAllFilters
        .PivotFields("Country").CurrentPage = "(All)"
        .ShowPages PageField:="Country"
    End With
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> "TCD" And ws.PivotTables.Count > 0 Then
            Set Total = ws.Cells(ws.PivotTables(1).TableRange2.Rows.Count, ws.PivotTables(1).TableRange2.Columns.Count)
            Pays = ws.Cells(1, 2).Value
            Total.ShowDetail = True
            ActiveSheet.Name = Pays & "_Data"
            TCDSource = Replace(Pays, " ", "_")
            ActiveSheet.ListObjects(1).Name = TCDSource
            ws.PivotTables(1).ChangePivotCache _
                ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                TCDSource)
        End If
    Next ws
End Sub


Reste à exporter les couples d'onglets pays soit dans la boucle soit à posteriori.
 
Dernière édition:

Statistiques des forums

Discussions
315 080
Messages
2 116 015
Membres
112 636
dernier inscrit
fred 1969