Discussion:
Filtre TCD : Afficher les éléments filtrés au lieu de "Plusieurs éléments"
(trop ancien pour répondre)
Gaereth
2017-03-02 08:56:24 UTC
Permalink
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 d
"(plusieurs éléments)".

Par exemple si je filtre selon les critères A B et C je voudrais afficher à l
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 !
JièL
2017-03-03 09:08:56 UTC
Permalink
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
Post by 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 !
gaereth
2017-03-03 09:51:03 UTC
Permalink
Post by 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
"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 j
ne peux pas changer la taille de police à l'intérieur des segments, n
n'afficher que les éléments filtrés et masquer les autres (dans le segments, le
é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 e
forme..
JièL
2017-03-03 10:17:33 UTC
Permalink
Post by gaereth
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
gaereth
2017-03-03 09:51:04 UTC
Permalink
Post by 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
"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 j
ne peux pas changer la taille de police à l'intérieur des segments, n
n'afficher que les éléments filtrés et masquer les autres (dans le segments, le
é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 e
forme..
News.aioe.org
2017-03-03 11:28:09 UTC
Permalink
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
gaereth
2017-03-03 10:47:48 UTC
Permalink
Post by 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
"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é
pour les concaténer dans une cellule ?
News.aioe.org
2017-03-03 12:06:27 UTC
Permalink
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

Loading...