XL 2013 Identifier les éléments "actifs" d'un segment

  • Initiateur de la discussion Initiateur de la discussion Yvan1
  • Date de début Date de début

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 !

Yvan1

XLDnaute Occasionnel
Bonjour,
Je souhaite pourvoir récupérer les éléments de segments en cascade (Année, Mois, Semaine).
Je sais récupérer un item s'il est sélectionné, mais je ne sais pas récupérer le ou les items qui découlent du choix du segment amont s'ils ne sont pas "sélectionnés".
Dans l'exemple joint, si l'on sélectionne 2025, le segment "Mois" affiche 1, et je ne sais pas récupérer cette valeur étant donné qu'elle n'est pas sélectionnée par l'utilisateur...
Merci pour vos lumières.
Yvan
 

Pièces jointes

Bonjour,
code suffisant :
VB:
Sub Test()
Dim Slc As SlicerCache, Cas As SlicerItem

    For Each Slc In Me.SlicerCaches
        Debug.Print Slc.VisibleSlicerItems.Count & " éléments affichés pour " & Slc.Name
        For Each Cas In Slc.VisibleSlicerItems
            Debug.Print Cas.Caption
        Next
        Debug.Print
    Next
    
End Sub
 
Bonsoir,
Merci pour ta proposition, mais je n'arrive pas à la transposer.
Peux-tu l'appliquer à mon exemple ?
Merci d'avance,
1738437011965.png

VB:
Sub Test()
    Dim Counta As Long, Countm As Long, a As Integer, m As Integer, s As Integer

' Segment Année
    With Me.SlicerCaches("Segment_Année")
        a = .VisibleSlicerItems.Count
        Select Case True
        Case .FilterCleared: MsgBox "Pas de filtre actif sur le segment Année"
        Case a = 0:          MsgBox "Aucune sélection sur le Segment Année"
        Case Else:           MsgBox a & " items sélectionnés sur le Segment Année"
        End Select
    End With
 
' Segment Mois
    With Me.SlicerCaches("Segment_Mois")
        m = .VisibleSlicerItems.Count
        Select Case True
        Case .FilterCleared: MsgBox "Pas de filtre actif sur le segment Mois"
        Case m = 0:          MsgBox "Aucune sélection sur le Segment Mois"
        Case Else:           MsgBox m & " items sélectionnés sur le Segment Mois"
        End Select
    End With
 
' Segment Semaine
    With Me.SlicerCaches("Segment_Semaine")
        s = .VisibleSlicerItems.Count
        Select Case True
        Case .FilterCleared: MsgBox "Pas de filtre actif sur le segment Semaine"
        Case s = 0:          MsgBox "Aucune sélection sur le Segment Semaine"
        Case Else:           MsgBox s & " items sélectionnés sur le Segment Semaine"
        End Select
    End With
 
End Sub
 
- 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

Discussions similaires

Réponses
1
Affichages
2 K
Compte Supprimé 979
C
Retour