[Resolu] TCD - Ajouter un filtre multiple

Zohnya

XLDnaute Nouveau
Bonjour, j'utilise un TCD pour récupérer des infos concernant des états de machines. J'aimerais qu'on puisse filtrer le TCD selon l'utilisateur ou les utilisateurs. Voici mon code, mais ça ne fonctionne pas.
Auriez-vous une idée sur la façon de procéder ?

VB:
Dim ind As String
Dim objetFiltre As PivotItem
'**************************
'Action des filtres
'***************************

        For j = 1 To 3
        'Selectionner le filtre (on fait 3 tour vue qu'il y a 3 filtres)
        Select Case i
            Case 1
                ind = "Utilisateur"
            Case 2
                ind = "Article"
            Case 3
                ind = "Contexte"
            Case Else
                ind = "0"
        End Select
      
        'Activer le multi-filtre (coche tout par défaut)
        ' "nomTCD" est initialisée plus haut et correspond au nom du TCD
        With ActiveSheet.PivotTables(nomTCD).PivotFields(ind)
            .EnableMultiplePageItems = True
            .CurrentPage = "(All)"
        End With
      
        'Pour chaque "pivotItem" dans la liste, on va les mettre a false sauf s'ils correspondent au filtre
        For Each objetFiltre In ActivSheet.PivotTables(nomTCD).PivotFields(ind).PivotItems
            On Error Resume Next
            With ActivSheet.PivotTables(nomTCD).PivotFields(ind).PivotItems.objet
                If .Name = "8060" Or .Name = "45094" Then
                    .Visible = True
                Else
                    .Visible = False
                End If
            End With
        Next objetFiltre
    Next j

sachant qu'avec ce code j'ai l'erreur :

424 : Objet requis sur la ligne du foreach
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
148

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu