Bonjour à tous,
Je souhaiterais mettre en place un filtre automatique dans un TCD en fonction d'une plage de cellule.
J'ai un tableau qui liste des composants que je cherche dans un onglet Synthese
Dans un autre onglet j'ai un TCD que je souhaiterais mettre à jour en fonction des refs de mon tableau synthèse.
Je coince sur la partie du code VBA qui permet en fonction d'une plage d'afficher dans le TCD les éléments de cette plage.
Sub SelectionComposant()
' SelectionComposant Macro
' en fonction des composants du tableau Synthese, modifie le TCD pour n'afficher que ceux-ci.
Dim Table As PivotTable
Dim Champs As PivotField
Dim Ref As String
On Error Resume Next
If Intersect(Target, Range("B5:B14")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set Table = Worksheets("TCD Manquant").PivotTables("ListeComposants1")
Set Champs = Table.PivotFields("Composé")
Ref = Target.Text
Champs.ClearAllFilters
Champs.CurrentPage = Ref
Application.ScreenUpdating = True
End Sub
EDIT: je m’aperçois qu'il peut y avoir un cas ou ça coince. Le cas où la ref n'est pas présente dans le TCD car pas de manquant. Comment faire ?
EDIT2: Il semblerait qu'avec Excel 2016, il y aurait une solution avec les segments. Aucune idée de comment cela marche. Si pour eviter de mettre du VBA, cela m'arrangerait.
Vous trouverez le fichier exemple ci-joint.
Merci.
Mam721