Boucle SlicerItems = False puisque critères évoluants

Fermé
TargetSelected - 30 mai 2022 à 16:13
Willzac Messages postés 266 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 20 juin 2024 - 5 déc. 2022 à 11:40
Bonjour à tous,

Je suis en train de configurer une VBA qui viens changer des graphiques Excel. Pour cela, je passe par les segments et je bug sur la partie SlicerItems. Les filtres de mes slicers changent régulièrement et de nouveaux sont crée tout les 3 mois puisqu'il s'agit de quarts d'année soit 2021-Q1, 2021-Q2, 2021-Q3, etc. J'ai crée une liste déroulante allant jusqu’à 2028 et j'ai donc 6 cellules Excel pour choisir les 6 quarters que je veux afficher sur le graphique. Mais vu cette situation, je pense être obligé de faire une boucle qui vient mettre False à toutes les autres valeurs mais je n'y arrive pas. J'ai trouvé ca sur internet mais il me dit qu'un objet est requis:

Sub test()
Dim myval As String
myval = "2022-Q1"
Dim sli As SlicerItem
With ActiveWorkbook.SlicerCaches("Segment_PERIOD1")
For Each sli In SlicerItems
ActiveWorkbook.SlicerCaches("Segment_PERIOD1").ClearManualFilter
If sli = myval Then
sli.Select = True
Else
sli.Selected = False
End If
Next sli
End With
End Sub

Merci d'avance pour votre aide !! ;)

1 réponse

Willzac Messages postés 266 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 20 juin 2024 14
5 déc. 2022 à 11:40

Bonjour 

Un fichier d'exemple sera le bienvenue

Cordialement

Will


0