RE
Oui les segments restent en l'état, si la source du TCD est correctement définie, sauf si dans la source certains items n'existent plus (et encore selon l'état du cache cela peut ne pas être immédiat).
Le plus simple est que tu testes sur ton cas pour t'en rendre compte.
Concernant le filtre par VBA, comme déjà dit cela dépend où est placé le champ et, si en champ de page, si le champ est mono ou multi sélectionnable...
Ce peut être ce type de code si pas champ de page mono selection
With ActiveSheet.PivotTables("NomTCD").PivotFields("NomChamp")
ClearAllFilters
For Each pItem In .PivotItems
If pItem.Name <>Valeur1 And pItem.Name <> Valeur2 … Then
pItem.Visible = False
......