TCD : comment désigner un pivotfield en champ page ou en colonne ?

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,

quelqu'un sait-il comment on désigne la position d'un pivotfield au sein d'un tcd ?
Je sais que pour sélectionner tout, y compris le champ page, on écrit pt.TableRange2.select
Si on veut sélectionner les colonnes, on écrit pt.rowRange.select
etc.

Mais je n'arrive pas à sélectionner (ou du moins à désigner) le bloc situé au dessus des données, ce que j'appelle (peut-être à tort) le champ Page
Pour faire simple, dans la pièce jointe, en feuille TCD1, le champ Page ne contient pas "Année" alors qu'en feuille TCD2, le champ Page contient "Année"

En fait, j'ai besoin de pouvoir identifier si le pivotfields "Année" est en colonne ou en Page car la suite du traitement n'est pas la même selon le cas.
Si comme en TCD1, le pivotfields "Année" est en colonne, alors j'affiche bien 2 années consécutives (voir Sub a3_Question_Année)
En revanche, si comme dans TCD2, le pivotfields "Année" est en Page, alors je ne veux afficher qu'une année (AnnéeRéponse). Il me reste à modifier mon code Sub a3_Question_Année une fois que je saurai comment repérer où se trouve le pivotfields "Année"

Pour une question de taille, le fichier joint ne montre que 2 feuilles mais la version réelle comporte des wagons de feuilles avec TCD, d'où l'intérêt d'automatiser la chose …

Merci d'avance pour vos lumières

Sebast
 

Pièces jointes

  • Question_10102014.xlsm
    169.7 KB · Affichages: 51

Sebast

XLDnaute Impliqué
Re : TCD : comment désigner un pivotfield en champ page ou en colonne ?

Bonsoir Patoq,

merci pour ce lien vers une page détaillée et précise.
Cependant, malgré mes recherches, je n'arrive toujours à trouver la solution

J'arrive certes désormais à sélectionner le champ Page, via

Code:
pt.PageRange.Select

mais je n'arrive pas à faire le distingo de l'item présent en champ Page

Ainsi, dans la feuille TCD1, j'ai l'item "Origine" en champ Page et dans la feuille TCD2, j'ai l'item "année"
J'ai écrit l'instruction

Code:
pt.PivotFields("Année").PageRange.Select

mais ça plante (la syntaxe est probablement erronée) …
Il doit bien y avoir un moyen car le champ Page est souvent composé de plusieurs champ mis les uns sur les autres …

Quelle est l'instruction permettant de savoir si le champ Page contient l'item "Année" ? Ou l'item "Origine" ?

Merci d'avance pour votre aide

Sebast
 

Sebast

XLDnaute Impliqué
Re : TCD : comment désigner un pivotfield en champ page ou en colonne ?

Bonsoir,

merci pour ton aide.
Malheureusement, le code

Code:
pt.PageRange.CurrentPage.Select

plante chez moi.

Et même s'il fonctionnait, que se passe-t-il s'il y a plusieurs Pivotfields en champ Page (comme ça l'est parfois dans mes tcd) ? Ne peut-on vraiment pas s'"adresser" à un pivotfields par son nom ?

à +

Sebast
 

Sebast

XLDnaute Impliqué
Re : TCD : comment désigner un pivotfield en champ page ou en colonne ?

Bonjour Chris,

merci pour le lien mais je n'y trouve pas mon bonheur.

Je pense avoir cherché partout, je n'arrive toujours pas à voir si le pivotitem "Année" est en champ page.


Bonne journée

Sebast
 

Pierrot93

XLDnaute Barbatruc
Re : TCD : comment désigner un pivotfield en champ page ou en colonne ?

Bonjour,
Bonjour Chris:)

teste la propriété "Orientation" de l'objet

Code:
MsgBox ActiveSheet.PivotTables(1).PivotFields("Année").Orientation

liste des constantes et valeurs possibles :
Nom Valeur Description
xlColumnField 2 Colonne
xlDataField 4 Données
xlHidden 0 Masqué
xlPageField 3 Page
xlRowField 1 Ligne

bon après midi
@+
 

Dusiecle

XLDnaute Nouveau
Mon problème est que je cherche à savoir comment modifier les informations entourées en rouge.
Au lieu de "2022-05", car le nom de la colonne change tous les mois, j'ai besoin de traduire que la macro doit prendre en compte la colonne G


forum TCD.jpg
 

Discussions similaires

Statistiques des forums

Discussions
312 180
Messages
2 085 993
Membres
103 081
dernier inscrit
jeromeolivier.raymond@wat