(VBA) Faire référence à une colonne de croisé dynamique

Doktor

XLDnaute Nouveau
Bonjour à tous,

Travaillant sur un TCD avec mise en forme conditionnelle, j'ai appris que l'on pouvait le diviser en autant de feuillets qu'il y avait d'entrées dans le champ de filtre. Ceci dit, lorsque je fais ça, mes mises en forme conditionnelles disparaissent dans les feuillets ainsi créés. :(

Mon but est donc de créer un code VBA pour rétablir ces mises en forme sur chaque feuillet. Pour cela, j'aurais besoin de faire référence non pas à des colonnes d'Excel (du type "A:A") mais bien à des colonnes de rapport de tableau croisé dynamique. Je ne sais absolument pas quelle est la syntaxe à utiliser, par contre ... :confused:

Déjà, est-ce possible? Si oui, comment?

Merci à tous. :)
 

Doktor

XLDnaute Nouveau
Re : (VBA) Faire référence à une colonne de croisé dynamique

C'est plus simple qu'il n'y parait.
Tu cliques n'importe où sur ton croisé dynamique (pour le sélectionner).
Tu vas dans l'onglet "options" -> "option du tableau croisé dynamique" -> "afficher les pages de filtres de rapport" et tu choisis le filtre concerné.
 

Iznogood1

XLDnaute Impliqué
Re : (VBA) Faire référence à une colonne de croisé dynamique

Vu, je ne connaissais pas.

Pour ton problème, tu peux creuser la piste suivante :

Code:
Sub test()
  Dim PT As PivotTable
  Set PT = ActiveSheet.PivotTables(1)
  MsgBox PT.TableRange1.Address
End Sub

Ce code retourne l'adress de la plage de données du premier TCD de la feuille active.
Tu peux imaginer une boucle sur l'ensemble de tes feuilles, vérifier qu'elles contiennent un TCD, et appliquer une MFC (....FormatConditions.Add Type:=xlExpression, Formula1:="...)
 

Discussions similaires

Réponses
2
Affichages
226

Statistiques des forums

Discussions
312 697
Messages
2 091 080
Membres
104 753
dernier inscrit
FLIS