Bonjour,
Je suis en train de créer un tableau de bord mensuel se mettant à jour quotidiennement via des Tableaux Croisés Dynamique (TCD).
Ma problématique :
- automatiser la mise à jour des filtres dans mes TCD.
Ce que je n'arrive pas à faire :
Automatiser la mise à jour des filtres du rapport via une liste pré-définit.
Exemple :
Liste des noms à activer dans mon filtre :
- titi
- tata
- toto
- tutu
Problème, le 5 du mois "tutu" n'existe pas dans ma plage de données sources et j'ai une erreur VBA qui apparaît.
Voici le code VBA utilisé :
Sub Macro3()
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Groupe"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Groupe")
.PivotItems("toto").Visible = True
.PivotItems("titi").Visible = True
.PivotItems("tata").Visible = True
.PivotItems("tutu").Visible = True
End With
End Sub
Ma question (enfin me direz-vous) :
Est-il possible de définir une liste de "nom" dans une autre feuille pour automatiser la mise à jour du filtre (ce qui m'arrangerait car j'ai plus de 50 TCD avec des filtres différents), ou une solution avec une modification de mon code ?
En vous remerciant par avance de votre aide.
En pièce jointe, ce que je voudrais faire.
Encore merci.
Je suis en train de créer un tableau de bord mensuel se mettant à jour quotidiennement via des Tableaux Croisés Dynamique (TCD).
Ma problématique :
- automatiser la mise à jour des filtres dans mes TCD.
Ce que je n'arrive pas à faire :
Automatiser la mise à jour des filtres du rapport via une liste pré-définit.
Exemple :
Liste des noms à activer dans mon filtre :
- titi
- tata
- toto
- tutu
Problème, le 5 du mois "tutu" n'existe pas dans ma plage de données sources et j'ai une erreur VBA qui apparaît.
Voici le code VBA utilisé :
Sub Macro3()
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Groupe"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Groupe")
.PivotItems("toto").Visible = True
.PivotItems("titi").Visible = True
.PivotItems("tata").Visible = True
.PivotItems("tutu").Visible = True
End With
End Sub
Ma question (enfin me direz-vous) :
Est-il possible de définir une liste de "nom" dans une autre feuille pour automatiser la mise à jour du filtre (ce qui m'arrangerait car j'ai plus de 50 TCD avec des filtres différents), ou une solution avec une modification de mon code ?
En vous remerciant par avance de votre aide.
En pièce jointe, ce que je voudrais faire.
Encore merci.
Pièces jointes
Dernière édition: