Tableau croisée dynamique - Défnition plage de donnée

Bonjour,

J'ai créé manuellement un TCD sur une nouvelle feuille de mon fichier excel. Je l'ai mise en forme et ai ajouté des segments rendant le filtrage de mon TCD plus facile et rapide.

Je souhaiterai savoir si je peux actualiser la plage de donnée du TCD automatiquement à chaque activation de la feuille sur laquelle il se trouve, sachant que cette plage évolue (le nombre de ligne du TCD doivent augmenter).

Je ne sais pas si c'est possible, je préfèrerais éviter de devoir créer via vba le TCD à chaque fois, ainsi que toutes sa mise en forme. (d'ailleurs je ne sais pas si'lon peut ajouter des segments via vba?)

Merci à ceux qui m'aideront et à ceux qui auront essayé !

Cordialement,

Batoine

Bonjour,

ALT F11 pour ouvrir l'éditeur VBE.

Procédures événementielles à copier dans les feuilles concernées.

'1 TCD
Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub
'Plusieurs TCDs
Private Sub Worksheet_Activate()
Dim pt As PivotTable
    For Each pt In Me.PivotTables
        pt.PivotCache.Refresh
    Next pt
End Sub

nota : cette proposition implique que les données sources des TCDs soient dynamiques.

Bonjour Jean-Eric, le forum,

J'avais effectivement ce bout de code. J'ai entre temps trouvé la réponse. Mais c'était effectivement ça

L'erreur que j'avais commise était la sélection de la plage de donnée de mon TCD. J'avais sélectionné une plage de donnée directement sur la base de donnée, cette plage n'étant pas dynamique, le TCD ne s'actualisait pas.

J'ai finalement crée un tableau nommé "exemple" sur la base de donnée que je souhaitais sélectionnée dans mon TCD. Puis j'ai recrée un TCD avec comme plage de donnée le tableau précédemment créé.

Voilà, j'espère que ça pourra quelqu'un à l'avenir.

Cordialement,

Batoine

Rechercher des sujets similaires à "tableau croisee dynamique defnition plage donnee"