Champs de pages dans 1 ou plusieurs TCD
Le
dédélafinance
Bonjour,
J'ai plusieurs TCD bâtis sur une seule et même plage de données et
comportant plusieurs champs de pages. Disons pour illustrer:
- Continent
- Pays
- Ville
Je sais désormais, grâce à Isabelle comment afficher le même champ de page
dans tous ces TCD et leur faire claculer les données en un seul clic !
J'aimerais toutefois qu'une sélection dans la champ de page "Continent" soit
équivalente à la fonction 'Tri" d'une page normale, à savoir qu'en
choisissant "Europe" comme continent, on ne puisse plus trouver dans la liste
déroulante du champ de page "Pays" le Canada, la Bolivie, la Chine ou le
Japon, etc, ni dans la dans la liste déroulante du champ de page "Ville"
New-York, Auckland, New Dehli, etc.et si possible vice versa : Si on
choisit Paris dans le champ de page "Ville", que les listes déroulantes
affichent comme seul choix possible : Pays = France, Continent = Europe.
Vous me direz d'apprendre la géographie ! c'est plus utile et plus facile
. Certes, mais si on met en champs de pages des notions moins intuitives,
cela me sera grandement utile.
Merci à vos cellules grises et bon WE à tous
--
Merci
DD
J'ai plusieurs TCD bâtis sur une seule et même plage de données et
comportant plusieurs champs de pages. Disons pour illustrer:
- Continent
- Pays
- Ville
Je sais désormais, grâce à Isabelle comment afficher le même champ de page
dans tous ces TCD et leur faire claculer les données en un seul clic !
J'aimerais toutefois qu'une sélection dans la champ de page "Continent" soit
équivalente à la fonction 'Tri" d'une page normale, à savoir qu'en
choisissant "Europe" comme continent, on ne puisse plus trouver dans la liste
déroulante du champ de page "Pays" le Canada, la Bolivie, la Chine ou le
Japon, etc, ni dans la dans la liste déroulante du champ de page "Ville"
New-York, Auckland, New Dehli, etc.et si possible vice versa : Si on
choisit Paris dans le champ de page "Ville", que les listes déroulantes
affichent comme seul choix possible : Pays = France, Continent = Europe.
Vous me direz d'apprendre la géographie ! c'est plus utile et plus facile
. Certes, mais si on met en champs de pages des notions moins intuitives,
cela me sera grandement utile.
Merci à vos cellules grises et bon WE à tous
--
Merci
DD

Poser une question


Tu le glisses en champ colonne dans le tdc,
sélectionne dans sa liste, l'item de ton choix
et tu le replace (glisse) comme champ Page.
"dédélafinance"
Bonjour,
J'ai plusieurs TCD bâtis sur une seule et même plage de données et
comportant plusieurs champs de pages. Disons pour illustrer:
- Continent
- Pays
- Ville
Je sais désormais, grâce à Isabelle comment afficher le même champ de page
dans tous ces TCD et leur faire claculer les données en un seul clic !
J'aimerais toutefois qu'une sélection dans la champ de page "Continent" soit
équivalente à la fonction 'Tri" d'une page normale, à savoir qu'en
choisissant "Europe" comme continent, on ne puisse plus trouver dans la liste
déroulante du champ de page "Pays" le Canada, la Bolivie, la Chine ou le
Japon, etc..., ni dans la dans la liste déroulante du champ de page "Ville"
New-York, Auckland, New Dehli, etc....et si possible vice versa : Si on
choisit Paris dans le champ de page "Ville", que les listes déroulantes
affichent comme seul choix possible : Pays = France, Continent = Europe.
Vous me direz d'apprendre la géographie ! ...c'est plus utile et plus facile
. Certes, mais si on met en champs de pages des notions moins intuitives,
cela me sera grandement utile.
Merci à vos cellules grises et bon WE à tous
--
Merci
DD
je ne crois pas que ce soit possible,
il y aurait une possibilité si tu mets les champs de page en champs de ligne,
pour mettre à jour les autre tcd tu pourrais utilisé l'événement calculate d'une autre page faisant
référence à la première cellule du champ (Continent)
par exemple :
Private Sub Worksheet_Calculate()
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
For Each pf In .PivotFields("Continent").PivotItems
If pf.Visible = True Then
v = pf
Exit For
End If
Next
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2")
.PivotFields("Continent").PivotItems(v).Visible = True
For Each pf In .PivotFields("Région").PivotItems
If pf Next
End With
End Sub
isabelle
Private Sub Worksheet_Calculate()
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
For Each pf In .PivotFields("Continent").PivotItems
If pf.Visible = True Then
v = pf
Exit For
End If
Next
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2")
.PivotFields("Continent").PivotItems(v).Visible = True
For Each pf In .PivotFields("Continent").PivotItems
If pf Next
End With
End Sub
isabelle
Je connais cette technique depuis peu; elle a néanmoins de trop nombreux
inconvénients à mon sens:
- il faut de la place à côté du TCD existant (notamment et surtout pas
d'autre TCD à proximité des nouvelles colonnes qui vont se créer ainsi, même
si c'est de façon temporaire...)
- tous les utilisateurs du TCD , ne connaissent pas forcément ....
- et puis il faut bien revenir en arrière à un moment ou à un autre, et là,
il y a certainement encore moins d'utilisateurs qui connaissent !
Bilan : la réponse est juste, mais ne répond pas idéalement à mon besoin
--
Merci de toute façon de vous être donné la peine de me répondre, cela pourra
sans doute aider qqu'un.
DD
Je tourne tellement en rond que j'ai raté ma réponse à votre deuxième
message. Et je n'ai pas pour habitude de laisser les bonnes volontés de ce
groupe sans réponse, au moins de courtoisie. Sorry !, je recommence donc.
Cela n'est a proiri pas ce que j'espérais, mais je voulais en avoir le coeur
net et il y a peut-être et sûrement qque chose à en apprendre.
Voilà :
J'ai refait 2 TCD avec tous les champs de page cette fois en lignes sur une
nouvelle page et y ai incorporé le précieux code préconisé.
Lorsque je fais une sélection sur la (première) ligne "Continent" du 1er
TCD, le code "calculate" se déclenche, mais bute sur le 2ème § au niveau de :
..PivotFields("Continent").PivotItems(v).Visible = True
qu'il écrit en rouge dans le débogueur et annonce une "Erreur de
compilation; erreur de syntaxe".
Alors je ne peux pas aller plus loin, car je suis incapable de comprendre
l'aide Microsoft et d'y faire (si vraiment nécessaire) les corrections
demandées.
Peut-être est-ce dû à ma façon de bâtir les TCD ?
Pouvez-vous m'aider davantage SVP ?
--
Merci d'avance
DD