Voilà mon problème: j'ai une macro qui prend les champs de ligne ("Buyer" dans "PivotTable1") visibles et qui sauve ce qu'elle trouve dans un Array (code ci-dessous).
J'utilise la propriété "VisibleItems" pour ne prendre que les entrées visibles.
Mon problème est que VisibleItems ignore complêtement les autres filtres: par exemple, si j'ajoute un champs de page qui retire toutes les lignes du tableau, la macro lit encore toutes les entrées de ligne, comme si elles étaient encore visible avec le filtre de page.
Comment puis-je faire pour ne prendre que les lignes qui sont encore visible au final, en prenant en compte les autres sélections faites dans le tableau croisé?
Merci de votre aide!!
Olivier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub Macro() ' takes all visible rows items from Pivottable1 and put them in an array Set pvt = ActiveSheet.PivotTables("PivotTable1") Dim sho(1 To 1000) As String For i = 1 To pvt.RowFields(1).VisibleItems.Count sho(i) = pvt.RowFields("Buyer").VisibleItems(i).Name Next i End Sub
Partager