Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Réponses
5
Affichages
325
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…