Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formater un TCD sous VBA

  • Initiateur de la discussion Initiateur de la discussion bigmousse
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bigmousse

XLDnaute Occasionnel
Bonjour

Je souhaite retirer l'ensemble des champs de mon TCD via VBA voici le code :


Code:
Sub Supfield()
'Procedure qui enleve tous les champs d'un TCD

Dim Mon_TCDy As PivotTable
  
Set Mon_TCDy = Worksheets("Feuil5").PivotTables("Mon_TCD")

With Mon_TCDy
For i = 1 To .PivotFields.Count
b = Mon_TCDy.PivotFields(i).Name
c = .PivotFields.Count
'Mon_TCDy.PivotFields(i).Delete
Mon_TCDy.PivotFields(i).Orientation = xlHidden
Next i
End With

End Sub

Le problème est que ce code fonction seulement pour les champs qui sont placés en page, ligne et colonne.
Pour les champs en Data, ceux-ci ne sont pas retirés de mon TCD.

L'instruction Pivotfield.count comptabilise les champs de la liste seulement.
Mais lorsque l'on fait glisser un champs dans la zone Data, ce champs se transforme en nombre de ...
Par exemple le champ "Période", lorsque l'on fait glisser dans le champ data ça donne "Nombre de période", ma routine ne fonctionne pas, et je suis obliger d'utiliser la même instruction en ajoutant le nom de champ "Nombre de...
Code:
Mon_TCDy.PivotFields("Nombre de Période").Orientation = xlHidden

Merci si vous avez une reponse.

Mousse
 
Re : Formater un TCD sous VBA

Bonjour Mousse,

pas beaucoup de réponse à ta question... un tout petit fichier en pièce jointe nous aiderait peut être à y voir plus clair... petite info néanmoins, au moins un élément doit être affiché dans un champ de données.... enfin me semble t il ... A voir...

bonne journée
@+
 
Re : Formater un TCD sous VBA

Bonjour BigMousse, Pierrot

A tester cette procédure:
Code:
Sub TCD_RAZ_Données()
'MJ
On Error Resume Next
nElmt = ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields.Count
'MsgBox ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(5)
For i = 1 To nElmt
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
i).Orientation = xlHidden
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
1
Affichages
939
DelphineDF
D
E
Réponses
6
Affichages
1 K
erictran
E
D
Réponses
0
Affichages
2 K
Demha_2022
D
D
Réponses
0
Affichages
2 K
Demha_2022
D
P
Réponses
0
Affichages
838
pin_electronic
P
R
Réponses
8
Affichages
1 K
R
T
Réponses
1
Affichages
2 K
Tinytoons
T
C
Réponses
23
Affichages
4 K
Charles78
C
Réponses
1
Affichages
2 K
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…