OVH Cloud OVH Cloud

Filtre TCD : Afficher les éléments filtrés au lieu de "Plusieurs éléments"

10 réponses
Avatar
Gaereth
Bonjour,

J'ai un TCD tout simple sur lequel je viens appliquer un filtre.
Je coche "sélectionner plusieurs éléments" afin d'en sélectionner plusieurs.

Le problème c'est que j'ai besoin que dans la case du filtre, il soit affiché les différents éléments filtrés, séparés d'une virgule ou autre à la place de "(plusieurs éléments)".

Par exemple si je filtre selon les critères A B et C je voudrais afficher à la place de "(plusieurs éléments)" : "A, B, C"

Est-ce possible ? J'ai fouillé dans les options du TCD sans rien trouver.
Je ne suis pas allergique à VBA si la solution doit passer pas là.

Merci d'avance !

10 réponses

Avatar
JièL
Hello,
perso j'utiliserais un "segment", ça permet d'afficher en clair ce qui
est filtré
Sélectionne ton TCD, onglet Outils de TCD, Analyse, Segment
--
JièL segmenteur mais pas menteur
Le 02/03/2017 à 09:56, Gaereth a écrit :
Bonjour,
J'ai un TCD tout simple sur lequel je viens appliquer un filtre.
Je coche "sélectionner plusieurs éléments" afin d'en sélectionner plusieurs.
Le problème c'est que j'ai besoin que dans la case du filtre, il soit affiché
les différents éléments filtrés, séparés d'une virgule ou autre à la place de
"(plusieurs éléments)".
Par exemple si je filtre selon les critères A B et C je voudrais afficher à la
place de "(plusieurs éléments)" : "A, B, C"
Est-ce possible ? J'ai fouillé dans les options du TCD sans rien trouver.
Je ne suis pas allergique à VBA si la solution doit passer pas là.
Merci d'avance !
Avatar
gaereth
Le jeudi 02 Mars 2017 à 09:56 par Gaereth :
Bonjour,
J'ai un TCD tout simple sur lequel je viens appliquer un filtre.
Je coche "sélectionner plusieurs éléments" afin
d'en sélectionner plusieurs.
Le problème c'est que j'ai besoin que dans la case du filtre, il soit
affiché les différents éléments filtrés,
séparés d'une virgule ou autre à la place de
"(plusieurs éléments)".
Par exemple si je filtre selon les critères A B et C je voudrais
afficher à la place de "(plusieurs éléments)" :
"A, B, C"
Est-ce possible ? J'ai fouillé dans les options du TCD sans rien
trouver.
Je ne suis pas allergique à VBA si la solution doit passer pas
là.
Merci d'avance !
Merci, ça peut être une solution je ne connaissais pas.
Le problème c'est que j'ai besoin d'imprimer le nom des données filtrées, or je ne peux pas changer la taille de police à l'intérieur des segments, ni n'afficher que les éléments filtrés et masquer les autres (dans le segments, les éléments non filtrés ne sont juste pas en surbrillance). Il est donc compliqué d'utiliser cette fonction dans mon cas puisqu'elle ne permet pas de mise en forme..
Avatar
gaereth
Le jeudi 02 Mars 2017 à 09:56 par Gaereth :
Bonjour,
J'ai un TCD tout simple sur lequel je viens appliquer un filtre.
Je coche "sélectionner plusieurs éléments" afin
d'en sélectionner plusieurs.
Le problème c'est que j'ai besoin que dans la case du filtre, il soit
affiché les différents éléments filtrés,
séparés d'une virgule ou autre à la place de
"(plusieurs éléments)".
Par exemple si je filtre selon les critères A B et C je voudrais
afficher à la place de "(plusieurs éléments)" :
"A, B, C"
Est-ce possible ? J'ai fouillé dans les options du TCD sans rien
trouver.
Je ne suis pas allergique à VBA si la solution doit passer pas
là.
Merci d'avance !
Merci, ça peut être une solution je ne connaissais pas.
Le problème c'est que j'ai besoin d'imprimer le nom des données filtrées, or je ne peux pas changer la taille de police à l'intérieur des segments, ni n'afficher que les éléments filtrés et masquer les autres (dans le segments, les éléments non filtrés ne sont juste pas en surbrillance). Il est donc compliqué d'utiliser cette fonction dans mon cas puisqu'elle ne permet pas de mise en forme..
Avatar
JièL
Le 03/03/2017 à 10:51, gaereth a écrit :
Merci, ça peut être une solution je ne connaissais pas.
Le problème c'est que j'ai besoin d'imprimer le nom des données filtrées, or je
ne peux pas changer la taille de police à l'intérieur des segments, ni
n'afficher que les éléments filtrés et masquer les autres (dans le segments, les
éléments non filtrés ne sont juste pas en surbrillance). Il est donc compliqué
d'utiliser cette fonction dans mon cas puisqu'elle ne permet pas de mise en
forme..

Ben oui, mais ça s'appelle le beurre et l'argent du beurre ;-)
Désolé, j'ai pas mieux.
--
JièL pas mieux
Avatar
JièL
Le 03/03/2017 à 10:51, gaereth a écrit :
Merci, ça peut être une solution je ne connaissais pas.
Le problème c'est que j'ai besoin d'imprimer le nom des données filtrées, or je
ne peux pas changer la taille de police à l'intérieur des segments, ni
n'afficher que les éléments filtrés et masquer les autres (dans le segments, les
éléments non filtrés ne sont juste pas en surbrillance). Il est donc compliqué
d'utiliser cette fonction dans mon cas puisqu'elle ne permet pas de mise en
forme..

Ben oui, mais ça s'appelle le beurre et l'argent du beurre ;-)
Désolé, j'ai pas mieux.
--
JièL pas mieux
Avatar
gaereth
Le jeudi 02 Mars 2017 à 09:56 par Gaereth :
Bonjour,
J'ai un TCD tout simple sur lequel je viens appliquer un filtre.
Je coche "sélectionner plusieurs éléments" afin
d'en sélectionner plusieurs.
Le problème c'est que j'ai besoin que dans la case du filtre, il soit
affiché les différents éléments filtrés,
séparés d'une virgule ou autre à la place de
"(plusieurs éléments)".
Par exemple si je filtre selon les critères A B et C je voudrais
afficher à la place de "(plusieurs éléments)" :
"A, B, C"
Est-ce possible ? J'ai fouillé dans les options du TCD sans rien
trouver.
Je ne suis pas allergique à VBA si la solution doit passer pas
là.
Merci d'avance !
Il n'y a pas moyen de récupérer par une macro la valeurs des éléments filtrés pour les concaténer dans une cellule ?
Avatar
News.aioe.org
Bonjour,
Si l'objectif est l'impression de ton TDC avec un formatage particulier...
Pourquoi ne pas copier la plage de données de ton TDC sur une nouvelle
feuille. Voici un bout de code pour copier les données du TDC de la feuil2
vers la feuil1. Il ne te reste plus qu'à écrire quelques lignes de code pour
formater les données de la feuil1 et lancer l'impression. Après, tu
supprimes cette feuille.
'----------------------------------------------
Sub test()
Dim Pt As PivotTable
Dim Rg As Range
Set Pt = Worksheets("Feuil2").PivotTables(1)
With Pt
t = .TableRange2.Value
End With
With Worksheets("Feuil1")
.Range("A1").Resize(UBound(t, 1), UBound(t, 2)) = t
'Formatage selon tes désirs.
'l'impression de la plage de données
'Suppression de la feuille.
End With
End Sub
'----------------------------------------------
MichD
Avatar
News.aioe.org
Bonjour,
Si l'objectif est l'impression de ton TDC avec un formatage particulier...
Pourquoi ne pas copier la plage de données de ton TDC sur une nouvelle
feuille. Voici un bout de code pour copier les données du TDC de la feuil2
vers la feuil1. Il ne te reste plus qu'à écrire quelques lignes de code pour
formater les données de la feuil1 et lancer l'impression. Après, tu
supprimes cette feuille.
'----------------------------------------------
Sub test()
Dim Pt As PivotTable
Dim Rg As Range
Set Pt = Worksheets("Feuil2").PivotTables(1)
With Pt
t = .TableRange2.Value
End With
With Worksheets("Feuil1")
.Range("A1").Resize(UBound(t, 1), UBound(t, 2)) = t
'Formatage selon tes désirs.
'l'impression de la plage de données
'Suppression de la feuille.
End With
End Sub
'----------------------------------------------
MichD
Avatar
News.aioe.org
Bonjour,
Dans la cellule à côté du champ "Page" de ton TDC, un exemple de procédure
pour récupérer les valeurs du filtre.
'-----------------------------------------------------------------
Sub test()
Dim Pt As PivotTable
Dim Pi As PivotItem
Dim V As String
'Je suppose que tu as UN champ sur lequel tu filtres.
'**********Variable à définir*********
Feuille = "Feuil2" 'Nom de l'onglet de la feuille
PivotName = "MichD"
'*************************************
Set Pt = Worksheets(Feuille).PivotTables(PivotName)
With Pt
x = .PageFields(1).Name
For Each Pi In .PivotFields(x).PivotItems
If Pi.Visible Then
V = V & Pi.Value & ", "
End If
Next Pi
If V <> "" Then
V = Left(V, Len(V) - 2)
With .PageRange
.Cells(.Row, .Cells.Count).Offset(, 1).Value = V
End With
End If
End With
End Sub
'-----------------------------------------------------------------
MichD
Avatar
News.aioe.org
Bonjour,
Dans la cellule à côté du champ "Page" de ton TDC, un exemple de procédure
pour récupérer les valeurs du filtre.
'-----------------------------------------------------------------
Sub test()
Dim Pt As PivotTable
Dim Pi As PivotItem
Dim V As String
'Je suppose que tu as UN champ sur lequel tu filtres.
'**********Variable à définir*********
Feuille = "Feuil2" 'Nom de l'onglet de la feuille
PivotName = "MichD"
'*************************************
Set Pt = Worksheets(Feuille).PivotTables(PivotName)
With Pt
x = .PageFields(1).Name
For Each Pi In .PivotFields(x).PivotItems
If Pi.Visible Then
V = V & Pi.Value & ", "
End If
Next Pi
If V <> "" Then
V = Left(V, Len(V) - 2)
With .PageRange
.Cells(.Row, .Cells.Count).Offset(, 1).Value = V
End With
End If
End With
End Sub
'-----------------------------------------------------------------
MichD