Bonjour à tous,

Je vous expose ma situation. Je souhaite actualiser tous mes TCD qui se situent dans plusieurs feuilles Excel. Ca, c'est OK.
Ensuite, je souhaite leur appliquer à tous un même filtre. Ce filtre est contenu dans la cellule H18 de ma feuille "Utilisation" (c'est une liste déroulante dynamique qui vient prendre toutes les valeurs de la colonne A de cette même feuille, à l'exception de l'intitulé -> donc de A2 à Adernièreligne). Je souhaite décocher toutes les valeurs, sauf celle contenue dans la cellule H18 (l'utilisateur doit y sélectionner son site de production).

Le problème :
Sur mon 1er onglet contenant des TCD, c'est OK. Mais sur les suivants, la dernière valeur de ma colonne A est toujours prise dans le filtre. J'ai beau la changer, même manuellement, la dernière est toujours incluse dans le filtre. J'ai l'étrange impression que la 18ème valeur n'arrive pas à être décochée. Pour info, ma variable DerniereLigne est bien codée, un msgbox me donne bien la bonne valeur.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Sub UpdateTCDNQO()
 
Dim DerniereLigne As Long
DerniereLigne = Worksheets("Utilisation").Range("A1048576").End(xlUp).Row
 
    Dim MyTCD As PivotTable
    Dim i As Integer
    For i = 1 To ActiveWorkbook.Sheets.Count
        For Each MyTCD In Worksheets(i).PivotTables
            MyTCD.RefreshTable
        Next
    Next i
 
  Dim j As Integer
  Dim k As Integer
    For j = 1 To ActiveWorkbook.Sheets.Count
        For Each MyTCD In Worksheets(j).PivotTables
        For k = 2 To DerniereLigne
        On Error Resume Next
            MyTCD.PivotFields("Libellé Site Préparation").PivotItems(Sheets("Utilisation").Range("A" & k).Value).Visible = False
        Next k
            MyTCD.PivotFields("Libellé Site Préparation").PivotItems(Sheets("Utilisation").Range("H18").Value).Visible = True
        Next
    Next j
 
MsgBox "Données mises à jour pour votre site de préparation."
 
End Sub
Avez-vous une idée ?

Merci beaucoup pour votre aide,

Alexis