VBA -Segment de TCD à mettre à jour
Bonjour,
dans mon code VBA j'ai cette partie :
' Sélectionner tous les éléments sauf "(vide)" dans le segment
With wb.SlicerCaches("Segment_WEEKS_ALL")
Dim item As SlicerItem
' Boucle pour sélectionner tous les éléments sauf "(vide)"
For Each item In .SlicerItems
If item.Name = "(vide)" Then
item.Selected = False
Else
item.Selected = True
End If
Next item
End With
End If
Next wsDans mon excel j'ai des TCD avec des segment "WEEKS" qui suivent toujours la même logique : 2024SEM032 puis 2024SEM033 puis 2024SEM034 etc...
mon but est que chaque semaine quand j'ai mis les données à jour et que sur l'ensemble de mes TCD la semaine suivante soit selectionner, la seul méthode que j'ai trouvé est Si vide ne pas selectionner si non tout le reste le selectionner grâce à :
If item.Name = "(vide)" Then
item.Selected = False
Else
item.Selected = TrueMais c'est très très long + de 20min par fichier pour seulement rajouter une semaine, je suis plus rapide à la main, auriez vous une autre approche pour rajouter la nouvelle semaine à chaque actualisation ?
Merci d'avance
Bonjour,
ClearManualFilter devrait réponde à ton besoin pour supprimer tous les segments d'un coup et donc tout afficher :
ActiveWorkbook.SlicerCaches("WEEKS).ClearManualFilter ' (ou "Segment_WEEKS_ALL" d'après ton exemple)
Sinon tu dois pouvoir faire un truc du genre :
With ActiveWorkbook.SlicerCaches("WEEKS")
.SlicerItems("2024SEM032").Selected = True
End WithEt si tu veux toutes les semaines sauf la semaine vide :
With ActiveWorkbook.SlicerCaches("WEEKS")
.ClearManualFilter
.SlicerItems("").Selected = False
End WithBenoît Marchand