Mon objectif est de filtrer un tableau pivotant à l'aide d'une plage d'une autre feuille. Cette plage extrait les données d'une troisième feuille, qui est le vidage de données qui déclenche tout un ensemble de formules et change chaque fois qu'il est utilisé.Filtrage d'une table pivotante en fonction de la plage de valeurs
J'ai le code ci-dessous, mais ce que je peux le voir faire est de parcourir chaque champ Tableau croisé dynamique, en le comparant à la plage, puis en supprimant le filtre. J'ai 32 000 champs qui doivent être vérifiés pour que la macro actuelle soit trop lente à utiliser.
Quelqu'un pourrait-il m'aider à corriger le code afin qu'il ne filtre que sur la base des valeurs de la plage qui ne sont pas vides?
Sub PT()
Dim PT As PivotTable
Dim PI As PivotItem
Set PT = Sheets("Pivot_Sheet").PivotTables("PivotTable2")
With Sheets("Pivot_Sheet").PivotTables("PivotTable2").PivotFields("Product")
.ClearAllFilters
End With
For Each PI In PT.PivotFields("Product").PivotItems
PI.Visible = WorksheetFunction.CountIf(Sheets("Sheet1").Range("J2:J100"),
PI.Name) > 0
Next PI
Set PT = Nothing
End Sub
Mettez votre code dans les étiquettes de code s'il vous plaît. – Sand
Désolé, Code tagué. – NMO