[RESOLU] Tableau croisé dynamique filtres

richert90

XLDnaute Occasionnel
Bonjour

J'ai un petit problème concernant les filtres pour un tableau croisé dynamique. En gros, j'ai 2 champs dans le filtre du rapport et j'aimerais que: si on choisi un élément du premier filtre alors apparaissent seulement le ou les éléments dans le 2ieme filtre correspondant au premier. Comme c'est compliqué à expliquer , je joins le fichier avec dedans une explication et l'exemple du problème.

Merci d'avance de votre aide!
 

Pièces jointes

  • pb_filtres.xlsx
    15.2 KB · Affichages: 55
  • pb_filtres.xlsx
    15.2 KB · Affichages: 57
  • pb_filtres.xlsx
    15.2 KB · Affichages: 57
Dernière édition:

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Tableau croisé dynamique filtres

Bonjour richert90 ,

Pour ce faire, il suffit de mettre ton champ dans l'étiquette de ligne...en fait, c'est impératif.

Voir en p.j.
 

Pièces jointes

  • pb_filtres2.xlsx
    15.4 KB · Affichages: 56
  • pb_filtres2.xlsx
    15.4 KB · Affichages: 65
  • pb_filtres2.xlsx
    15.4 KB · Affichages: 64

chris

XLDnaute Barbatruc
Re : Tableau croisé dynamique filtres

Bonjour
Coucou Genevieve78

Puisque tu as 2010, tu peux utiliser des segments : on voit tout de suite ce qui existe ou non.
Rien n'empêche l'utilisateur maso de cliquer sur une valeur inexistante...

Sinon, même pas VBA c'est quasi impossible à faire dans un champ de filtre ou page.
 

Pièces jointes

  • pb_filtres.xlsx
    17 KB · Affichages: 74
  • pb_filtres.xlsx
    17 KB · Affichages: 63
  • pb_filtres.xlsx
    17 KB · Affichages: 62

richert90

XLDnaute Occasionnel
Re : Tableau croisé dynamique filtres

Merci pour votre réponse rapide.
Par contre, je ne vois pas vraiment en quoi ça change d'avant? parce que quand je choisis "coupure" j'ai encore dans le filtre C_ID_VAL : '20SWB TEST' , '14:21:02', 'BATAL' etc.... alors que je voudrais juste les champs qui sont possibles avec 'coupure' c'est à dire ici juste 'BATAL' .La sortie que vous proposez avec le champ "C_ID_VAL" est juste mais c'est dans le filtre. Surtout qu'avec le TCD , je devrais faire un Graphique croisé dynamique et avec le champ C_ID_VAL en ligne, ce n'est pas l'idéal.

Après peut-être que ce n'est pas possible de le faire, c'est un peu "tordu".


Dans le fichier ci joint, j'ai fais ce Graphique en expliquant mieux le problème :p

Merci d'avance
 

Pièces jointes

  • pb_filtres2.xlsx
    17.8 KB · Affichages: 53
  • pb_filtres2.xlsx
    17.8 KB · Affichages: 63
  • pb_filtres2.xlsx
    17.8 KB · Affichages: 56

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Tableau croisé dynamique filtres

Je vais te répondre par une question:

Pourquoi vouloir C_ID_VAL en format filtre si tu ne veux pas le gérer comme un filtre?
Il n'a aucune utilité où il est.

Selon ce que tu exprimes, tu veux qu'il génère les choix seulement à partir du filtre C_LIB donc, logiquement, tu dois le mettre en étiquette de ligne qui, tout naturellement, te donne les choix à partir du filtre.

Ne met pas C_ID_VAL en filtre si tu ne veux pas filtrer tous les résultats qu'il offre.

Ceci dit amicalement, voir ma première solution.

Cdt,
 

richert90

XLDnaute Occasionnel
Re : Tableau croisé dynamique filtres

Oui en effet le filtre n'est pas obligatoire pour C_ID _VAL.
Oui c'est bien cela je veux qu'il génère les choix seulement à partir du choix du filtre C_LIB.
Je vais ressayer tout de suite mais comme la B.D.D est très grande ( sur les P.j ce n'est qu'une partie) , j'ai peur que le graphique croisé dynamique généré ne soit pas très beau à voir....

Merci en tout cas de votre aide
 

chris

XLDnaute Barbatruc
Re : Tableau croisé dynamique filtres

Re

Le segment remplace le filtre ! Il sert à filtrer un ou plusieurs TCD (on peut grâce à lui synchroniser plusieurs TCD)
Et le graphique croisé suit le segment...

Il faut donc cliquer sur une ou plusieurs (avec CTRL) valeurs dans le segment.

Les filtres des TCD sont gérés par Excel : on peut par VBA, les cocher ou décocher mais pas limiter la liste.
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Tableau croisé dynamique filtres

Chris a un point et cela vaut vraiment la peine de prendre 5 minutes et lire sur le sujet à cette page la section Segment.

Tu verras, si tu choisi 'en savoir plus' après le texte de présentation, il élaborent sur le sujet nommé slicer. Vraiment intérresant.

Cela répond exactement à tes attentes; tu conserves le filtre pour C_ID _VAL avec l'option générée selon ton choix dans C_LIB.

Dans l'exemple de chris, ton choix 'BATAL' est en couleur et situé dans le haut de la boîte signifiant qu'il est disponible; les autres sont grisés.

Bon courage! :eek:
 

richert90

XLDnaute Occasionnel
Re : Tableau croisé dynamique filtres

Merci beaucoup pour cette aide! je viens de voir ce que c'était les segments, j'en avais jamais entendu parler, je vais essayer ça dès demain!! mais en effet ça correspond parfaitement à ce que je recherche!

Encore Merci Chris et Genevieve78 pour votre aide =)
 

richert90

XLDnaute Occasionnel
Re : Tableau croisé dynamique filtres

Juste une petite dernière question:
Dans le code VBA (utilisé pour enregistrer une macro lorsque je créer un segment) que voici:
Code:
ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables( _
        "Tableau croisé dynamique1"), "C_LIB").Slicers.Add ActiveSheet, , "C_LIB", _
        "C_LIB", 89.25, 272.25, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add(ActiveSheet.PivotTables( _
        "Tableau croisé dynamique1"), "C_ID_VAL").Slicers.Add ActiveSheet, , "C_ID_VAL" _
        , "C_ID_VAL", 126.75, 309.75, 144, 198.75
    ActiveSheet.Shapes.Range(Array("C_ID_VAL")).Select

A quoi sert les chiffres: "89,25","272,25", etc ???

J'espère qu'ils ne vont pas changer en fonction de la taille de la Base de données^^
Merci d'avance
 

Tirou

XLDnaute Occasionnel
Re : Tableau croisé dynamique filtres

Je confirme, ils servent à délimiter la position et la taille : dans l'ordre, c'est la position à partir du haut, de la gauche, la largeur et la hauteur.

Si ta BD contient de multiples valeurs pour tes champs de filtres, n'oublies pas que tu peux réaranger le nombre de colonnes de tes ségments : ça aidera à rester clair et/ou facil d'accès.

De plus, tu peux lier un même ségment à plusieurs TCD. ça peut être utile vu que tu dois faire un graph de ton tableau dynamique. En effet, le problème avec ça, c'est que si tu veux changer la présentation de ton graph, ça change la présentation de ton tableau ... c'est parfois relou. La solution la plus simple consiste à faire un TCD dans une feuille cachée qui servira pour le graph, de conserver le tableau comme tu le souhaite dans ta feuille où sera inséré le graph en lui même, et enfin de paramétrer tes segments pour qu'ils contrôlent les 2 TCD à la fois.
 

Discussions similaires

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko