Bonjour à tous!
Mon problème est plutôt simple : je souhaite filtrer mon TCD (provenant d'un serveur cube OLAP) selon la valeur d'une cellule.
Pour cela, voici mon code:
Où :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Test() Dim filter As String filter = ActiveWorkbook.Sheets("Primes_Appelees").Range("F1").Value ActiveSheet.PivotTables("TCD_COT").PivotFields( _ "[Dispositif_Contrat_Juridique].[Dispositif_Contrat_Juridique].[Dispositif]"). _ CurrentPageName = "[Dispositif_Contrat_Juridique].[Dispositif_Contrat_Juridique].[Dispositif].&[filter]" End Sub
- Primes_Appelees est le nom de ma feuille
- F1 est la cellule que je veux utiliser pour renseigner mon filtre
- TCD_COT est le nom de mon Tableau Croisé Dynamique
- [Dispositif_Contrat_Juridique].[Dispositif_Contrat_Juridique].[Dispositif] semble être le nom de mon champ de filtre que j'ai trouvé par la macro automatique.
En exécutant le code, j'ai un message d'erreur signifiant "Element introuvable dans le cube OLAP". Pourtant en le faisant manuellement avec ce que contient la cellule, je trouve bien quelque chose.
Je peux également remplacer dans la dernière ligne "filter" par quelque chose qui se trouve dans le filtre et cela marche. Pour info, les valeurs contenus dans mon filtre contiennent aussi bien des chiffres que des caractères.
Merci de m'éclairer sur ce sujet.
Bonne journée!
Partager