XL 2013 Réduire une macro

Xorys

XLDnaute Nouveau
Bonsoir à tous,

J'utilise une macro pour filtrer la même valeur sur 2 TCD sur la même page. Je me demandais s'il était pas possible de réduire cette macro de façon à ce qu'elle soit plus légère ?

Code:
Sub AI_G_MACRO()

Dim WS As Worksheet, PT As PivotTable, PF As PivotField, PI As PivotItem

ActiveSheet.PivotTables("TCD1").PivotFields("GROUPE").ClearAllFilters

Set WS = Sheets("PAGE")
Set PT = WS.PivotTables("TCD1")
Set PF = PT.PivotFields("GROUPE")

For Each PI In PF.PivotItems
PI.Visible = False

    If PI.Name Like "*_GROUPE_VIL_*" Then
        PI.Visible = True
    End If
    On Error Resume Next
Next

    If PI.Name Like "*_GROUPE_LOL_*" Then
        PI.Visible = True
    End If
    On Error Resume Next
Next

ActiveSheet.PivotTables("TCD2").PivotFields("GROUPE").ClearAllFilters

Set WS = Sheets("PAGE")
Set PT = WS.PivotTables("TCD2")
Set PF = PT.PivotFields("GROUPE")

For Each PI In PF.PivotItems
PI.Visible = False

    If PI.Name Like "*_GROUPE_VIL_*" Then
        PI.Visible = True
    End If
    On Error Resume Next
Next

    If PI.Name Like "*_GROUPE_LOL_*" Then
        PI.Visible = True
    End If
    On Error Resume Next
Next

End Sub

Je vous en remercie par avance.
 

cp4

XLDnaute Barbatruc
Bonjour,

Peut-être comme ceci, en utilisant l'opérateur OR
VB:
 If PI.Name Like "*_GROUPE_VIL_*" Or PI.Name Like "*_GROUPE_LOL_*" Then
        PI.Visible = True
    End If
    On Error Resume Next
Next
N'ayant jamais eu besoin d'un TCD, je ne me suis pas intéressé donc je n'y connais pas grand chose. J'ai effectué une recherche et j'ai trouvé ce site: https://www.lecfomasque.com/control...oises-dynamiques-avec-un-seul-menu-deroulant/ qui pourrait de rendre service.
Bonne journée
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 852
dernier inscrit
dthi16088