Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2013TCD Faire apparaitre le nom du filtre du segment sélectionné dans une cellule
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 !
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...
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...
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 🙂
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
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)
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
- 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