Vider le cache entre 2 TCD

Bonjour le forum,

Je suis en train de faire deux TCD sur la même plage de donnée mais avec des regroupement de classe différents.

Mon probleme est que lorsque je modifie l'un des deux TCD les deux se mettent à jour,

j'ai trouvée sur l'aide Microsoft une possibilité de désactivé la mise en commun du cache via la boite de dialogue obtenue par ALT+D+P mais ma version excel me dit que c'est pour une version antérieur.... et ne m'ouvre rien....

j'ai fait le tour des options d'excel, mais je n'ai rien trouvé d'autre. Et sur le net je retombe toujours sur cette astuce du ALT+......

Si vous avez une idée de comment faire,

Merci

en coupant collant dans un nouvel onglet, le probleme persiste-t-il?

Bonjour Rrrdasse,

Oui malheureusement le problème reste le même, et l'idée c'est d'avoir tous les TCD dans le même

Bonjour

Créer un des TCD sur un nouveau classeur puis le couper coller dans le classeur voulu : il emporte son propre cache avec lui.

merci chris je testes ca des que j ai un vrai clavier sous les doigts

Bonjour,

Une procédure VBA pour créer un nouveau cache basée sur une même source de données.

Sélectionner une cellule dans le TCD et exécuter la procédure CreateNewPivotCache.

A te relire.

Cdlt.

Public Sub CreateNewPivotCache()
Dim wb As Workbook, wsTemp As Worksheet, pt As PivotTable
    On Error Resume Next
    Set pt = ActiveCell.PivotTable
    If pt Is Nothing Then
        MsgBox "Veuillez sélectionner une cellule dans le TCD !...", 64, "Sélection invalide"
    Else
        Set wb = ActiveWorkbook
        Set wsTemp = Worksheets.Add
        wb.PivotCaches.Create( _
                SourceType:=xlDatabase, _
                SourceData:=pt.SourceData).CreatePivotTable _
                TableDestination:=wsTemp.Range("A3"), _
                TableName:="PTtemp"
        pt.CacheIndex = wsTemp.PivotTables(1).CacheIndex
        Application.DisplayAlerts = False
        wsTemp.Delete
        Application.DisplayAlerts = True
        Set pt = Nothing
    End If
End Sub

Merci pour vos réponses, je valide même si je trouve que la solution de chris soit un peu barbare mais Elle fonctionne

Merci pour ton code vb Jean Eric je galères toujours avec l automatisation de la génération de tcd en vba.

RE

On peut ne créer que la coquille vide du TCD dans le fichier 2 avant de rapatrier le TCD ou même l'onglet complet : cela prend 2 mn.

Dans les versions antérieures à 2003 (ou 2002, je ne sais plus) il y avait un cache par TCD et du coup des classeurs très lourds et l'actualisation des TCD un par un.

Sur 2002 ou 2003 le choix était proposé mais personne ne comprenait la question (il est vrai peu claire)

A partir de 2007, cache unique et plus de choix... Du coup il a fallu trouver des solutions manuelles ou VBA...

Merci pour ce retour historique

La méthode manuelle me plais bien

Cdt

Rechercher des sujets similaires à "vider cache entre tcd"