Boucle SlicerItems = False puisque critères évoluants
TargetSelected
-
Willzac Messages postés 266 Date d'inscription Statut Membre Dernière intervention -
Willzac Messages postés 266 Date d'inscription Statut Membre Dernière intervention -
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 !! ;)
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 !! ;)
A voir également:
- Boucle SlicerItems = False puisque critères évoluants
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système