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 :
Avez-vous une idée ?
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
Merci beaucoup pour votre aide,
Alexis
Partager