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

XL 2013 TCD Faire apparaitre le nom du filtre du segment sélectionné dans une cellule

francois95

XLDnaute Nouveau
Bonjour,

J'aimerai faire apparaitre dans des cellules, les filtres sélectionnés dans les différents segments.
L'exemple joint sera peut etre plus parlant.

Je vous remercie par avance

François
 

Pièces jointes

  • faire apparaitre Segment TCD dans une cellule.xlsx
    16.5 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour

  • Soit il faut passer par le modèle de données PowerPivot pour réaliser le TCD et obtenir les valeurs avec des formules cubes
  • Soit il faut tricher avec un second TCD planqué connecté uax même segment. Selon la structure du TCD réel, la possibilité ou non de multi sélection. Là tu as fait très simple...

 

francois95

XLDnaute Nouveau
Merci Chris, effectivement l'exemple est très simple. J'ai 11 TCD connectés aux segments, l'idée est de synchroniser tous les segments, de n'en faire apparaitre qu'un seul sur une page menu, et ensuite dans chaque feuille rappeler les filtres sélectionnés. Je viens de découvrir Power Query, je vais tenter PowerPivot
 

job75

XLDnaute Barbatruc
Bonjour francois95, chris,

Voyez le fichier .xlsm joint et cette fonction VBA :
VB:
Function Segment(x As String)
Application.Volatile
Dim s As Object
For Each s In ThisWorkbook.SlicerCaches(x).SlicerItems
    If s.Selected Then Segment = Segment & ", " & s.Name
Next
Segment = Mid(Segment, 3)
End Function
Le code doit être placé impérativement dans un module standard.

Formule en F2 à tirer vers la droite =Segment("Segment_"&F1)

A+
 

Pièces jointes

  • faire apparaitre Segment TCD dans une cellule(1).xlsm
    24.4 KB · Affichages: 9

francois95

XLDnaute Nouveau
Merci,
Quand je veux annuler le filtre j'ai ce message d'erreur
 

goube

XLDnaute Accro
Bonsoir à tous,

Je viens d'essayer cette fonction, et cela ne fonctionne pas chez moi. Qu'est ce que je fais mal ?
(Excel 2021 32bits)
Cordialement.
 

Pièces jointes

  • Test afficher segment.xlsm
    98.8 KB · Affichages: 5

chris

XLDnaute Barbatruc
Bonjour

Ton TCD est basé sur le modèle de données PowerPivot : les segments de TCD issu du modèle de données ne fonctionnent pas de la même façon

En VBA
VB:
Function Segment(x As String)
Application.Volatile
Dim ListeJ
Dim Seg As String, i As Integer
   
    ListeJ = ActiveWorkbook.SlicerCaches(x).VisibleSlicerItemsList
    For i = 1 To UBound(ListeJ)
        Seg = Mid(ListeJ(i), InStr(ListeJ(i), "&") + 2)
        Segment = Segment & IIf(i > 1, ", ", "") & Left(Seg, Len(Seg) - 1)
    Next i
End Function

Je posterai plus tard pour les fonctions CUBE...
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
630
Réponses
16
Affichages
650
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…