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 ?
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, c'est comme s'il ne trouvais pas de données ? pourtant je sais qu'elles y sont ? Je ne comprends pas.