Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupération d'items d'un DropDownList de TCD

10 réponses
Avatar
Philippe
Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe

10 réponses

Avatar
MichDenis
Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe
Avatar
Philippe
Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe





Avatar
MichDenis
Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe





Avatar
Philippe
non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe










Avatar
MichDenis
| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe










Avatar
Philippe
non on peut tout a fait masquer des éléments de la liste a travers l'option
paramètres de champ
--
Philippe



| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe















Avatar
MichDenis
Ce que tu veux c'est ceci :

'--------------------------------------
Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
For Each Pi In Pt.PivotFields("Titre").VisibleItems
ReDim Preserve S(A + 1)
S(A) = Pi.Name
Next
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'--------------------------------------



"Philippe" a écrit dans le message de news:

non on peut tout a fait masquer des éléments de la liste a travers l'option
paramètres de champ
--
Philippe



| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe















Avatar
Philippe
C'est presque cela sauf que ta procédure ne renvoie que l'item selected et
non pas l'ensemble des items visible dans le dropdownList

merci de ta patience

Ce que tu veux c'est ceci :

'--------------------------------------
Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
For Each Pi In Pt.PivotFields("Titre").VisibleItems
ReDim Preserve S(A + 1)
S(A) = Pi.Name
Next
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'--------------------------------------



"Philippe" a écrit dans le message de news:

non on peut tout a fait masquer des éléments de la liste a travers l'option
paramètres de champ
--
Philippe



| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe




















Avatar
MichDenis
Pour un champ page d'un PivotTable, on ne peut utiliser
la propriété visible d'un item pour déterminer si celui-ci est
présent ou non dans la liste.

De même auras-tu remarqué qu'à côté des items de la liste
dans un champ page, il n'y a pas de "case" comme un champ
"Colonne" permettant de filtrer les données selon les cases
que l'on a coché dans la liste des PivotItem du champ.

Cependant, si on désire effectuer un filtre sur un champ
page, on peut déplacer celui-ci dans un champ colonne,
effectuer le filtre (cocher le ou les items du champ) et le
replacer dans son champ page.

La procédure qui suit utilise la même parade pour
dresser la liste des items du champ "page" visible

If Pi.Visible = True And Pi.RecordCount > 0 Then
La ligne de code précédente de la procédure permet d'afficher
seulement les éléments de la liste visible qui ont des données dans
la section "Data" du pivotTable.

Il ne te reste plus qu'à adapter le nom des objets dans la procédure...
Est-ce que cela répond à ton besoin ?

'-----------------------------------------
Sub test()

Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

Application.ScreenUpdating = False
With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
With Pf
.Orientation = xlColumnField
.Position = 1
For Each Pi In Pf.PivotItems
If Pi.Visible = True And Pi.RecordCount > 0 Then
A = A + 1
ReDim Preserve S(1 To A)
S(A) = Pi.Name
End If
Next
.Orientation = xlPageField
.Position = 1
End With
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'-----------------------------------------




"Philippe" a écrit dans le message de news:

C'est presque cela sauf que ta procédure ne renvoie que l'item selected et
non pas l'ensemble des items visible dans le dropdownList

merci de ta patience

Ce que tu veux c'est ceci :

'--------------------------------------
Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
For Each Pi In Pt.PivotFields("Titre").VisibleItems
ReDim Preserve S(A + 1)
S(A) = Pi.Name
Next
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'--------------------------------------



"Philippe" a écrit dans le message de news:

non on peut tout a fait masquer des éléments de la liste a travers l'option
paramètres de champ
--
Philippe



| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe




















Avatar
Philippe
Je pense que oui
je ne pourrais tester ceci que ce soir, mais je pense que tu as trouver la
solution

Je te remercie encore de ne pas m'avoir laisser tomber



Pour un champ page d'un PivotTable, on ne peut utiliser
la propriété visible d'un item pour déterminer si celui-ci est
présent ou non dans la liste.

De même auras-tu remarqué qu'à côté des items de la liste
dans un champ page, il n'y a pas de "case" comme un champ
"Colonne" permettant de filtrer les données selon les cases
que l'on a coché dans la liste des PivotItem du champ.

Cependant, si on désire effectuer un filtre sur un champ
page, on peut déplacer celui-ci dans un champ colonne,
effectuer le filtre (cocher le ou les items du champ) et le
replacer dans son champ page.

La procédure qui suit utilise la même parade pour
dresser la liste des items du champ "page" visible

If Pi.Visible = True And Pi.RecordCount > 0 Then
La ligne de code précédente de la procédure permet d'afficher
seulement les éléments de la liste visible qui ont des données dans
la section "Data" du pivotTable.

Il ne te reste plus qu'à adapter le nom des objets dans la procédure...
Est-ce que cela répond à ton besoin ?

'-----------------------------------------
Sub test()

Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

Application.ScreenUpdating = False
With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
With Pf
.Orientation = xlColumnField
.Position = 1
For Each Pi In Pf.PivotItems
If Pi.Visible = True And Pi.RecordCount > 0 Then
A = A + 1
ReDim Preserve S(1 To A)
S(A) = Pi.Name
End If
Next
.Orientation = xlPageField
.Position = 1
End With
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'-----------------------------------------




"Philippe" a écrit dans le message de news:

C'est presque cela sauf que ta procédure ne renvoie que l'item selected et
non pas l'ensemble des items visible dans le dropdownList

merci de ta patience

Ce que tu veux c'est ceci :

'--------------------------------------
Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
For Each Pi In Pt.PivotFields("Titre").VisibleItems
ReDim Preserve S(A + 1)
S(A) = Pi.Name
Next
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub
'--------------------------------------



"Philippe" a écrit dans le message de news:

non on peut tout a fait masquer des éléments de la liste a travers l'option
paramètres de champ
--
Philippe



| moi ce que je veux ce sont tous les tiems visible
| dans le dropdown en excluant ceux qui sont cac

Un TDC peut avoir plusieurs "champ page"
Chaque "champ page" peut afficher "Tous" les entrées ou une entrée particulière
mais la liste déroulante d'un "champ page" affiche toujours la liste complète
des items à partir desquels il est possible de filtrer les données du TDC.

Conséquence : J'ai de la difficulté à saisir ce que tu désires.



"Philippe" a écrit dans le message de news:

non
mais la procédure que tu m'a donnée me renvoi tous les items sauf celui par
défaut dans le dropdown , moi ce que je veux ce sont tous les tiems visible
dans le dropdown en excluant ceux qui sont cachés et donc pas visible dans le
dropdown
merci de ton temps a plancher sur mon problème
--
Philippe



Et qu'est-ce que tu as présentement avec la procédure soumise ?


"Philippe" a écrit dans le message de news:

Merci de ta réponse mais ce que j'aimerais c'est ne récupérer que les items
visibles
lorsque que l'on déroule la liste
--
Philippe



Tu dois adapter le nom de la feuille, nom du champ page dans la procédure


Sub test()
Dim S(), A As Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem

With Worksheets("NomDeLaFeuilleOùEstTonTDC")
Set Pt = .PivotTables(1)
Set Pf = Pt.PivotFields("NomChampPage")
For Each Pi In Pf.PivotItems
If Pi.Visible = False Then
a = a + 1
ReDim Preserve S(1 To a)
S(a) = Pi.Name
End If
Next
'Copie le résultat dans la plage de cellules
.Range("A25").Resize(UBound(S)).Value = _
Application.Transpose(S)
End With

End Sub




"Philippe" a écrit dans le message de news:

Bonjour a tous
J'aimerais pouvoir récupérer la liste des items d'un pivot de TCD placer
dans la zone de page d'une feuille et savoir quels sont les items cachés
Merci d'avance


--
Philippe