J'ai un tableau crois=E9 dynamique comportant plusieurs filtres du
rapport. Je souhaite que les valeurs affich=E9es dans le deuxi=E8me et le
troisi=E8me filtre soient elles-m=EAmes filtr=E9es en fonction de ce qui a
=E9t=E9 choisi dans le filtre pr=E9c=E9dent. Je ne trouve pas d'option pour
obtenir cette d=E9pendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je
choisis Europe, je veux que le deuxi=E8me filtre, portant sur les pays,
n'affiche que les pays europ=E9ens ; et si j'ai choisi l'Allemagne dans
le deuxi=E8me filtre, je veux que le troisi=E8me filtre propose uniquement
les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un
extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistr=E9 au format 2003.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour MultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
Bonjour MultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple :
Champ page TDC1 = Continents -> Europe
Champ page TDC2 = Pays -> Allemagne
Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et
comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé !
Thanks God, it's friday night !
;-))
"MultiSeb" <multiseb@yahoo.com> a écrit dans le message de groupe de discussion :
c9712d5a-4feb-4fc6-acf9-1e770526f9e8@p9g2000vbl.googlegroups.com...
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du
rapport. Je souhaite que les valeurs affichées dans le deuxième et le
troisième filtre soient elles-mêmes filtrées en fonction de ce qui a
été choisi dans le filtre précédent. Je ne trouve pas d'option pour
obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je
choisis Europe, je veux que le deuxième filtre, portant sur les pays,
n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans
le deuxième filtre, je veux que le troisième filtre propose uniquement
les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un
extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
michdenis
Si la chose t'intéresse, j'ai fait un petit exemple. Il est fait avec Excel 2007, en conséquence, il n'est pas fonctionnel avec une version antérieure d'Excel.
Le hic, c'est qu'il fait 16.5 Mo. Il utilise une base de données de plus de 68,000 lignes.
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour MultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
Si la chose t'intéresse, j'ai fait un petit exemple.
Il est fait avec Excel 2007, en conséquence, il n'est pas
fonctionnel avec une version antérieure d'Excel.
Le hic, c'est qu'il fait 16.5 Mo. Il utilise une base de données
de plus de 68,000 lignes.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion :
D2393DB7-A1C5-4661-BA17-CEEF9CC4DE6E@microsoft.com...
Bonjour MultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple :
Champ page TDC1 = Continents -> Europe
Champ page TDC2 = Pays -> Allemagne
Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et
comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé !
Thanks God, it's friday night !
;-))
"MultiSeb" <multiseb@yahoo.com> a écrit dans le message de groupe de discussion :
c9712d5a-4feb-4fc6-acf9-1e770526f9e8@p9g2000vbl.googlegroups.com...
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du
rapport. Je souhaite que les valeurs affichées dans le deuxième et le
troisième filtre soient elles-mêmes filtrées en fonction de ce qui a
été choisi dans le filtre précédent. Je ne trouve pas d'option pour
obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je
choisis Europe, je veux que le deuxième filtre, portant sur les pays,
n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans
le deuxième filtre, je veux que le troisième filtre propose uniquement
les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un
extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Si la chose t'intéresse, j'ai fait un petit exemple. Il est fait avec Excel 2007, en conséquence, il n'est pas fonctionnel avec une version antérieure d'Excel.
Le hic, c'est qu'il fait 16.5 Mo. Il utilise une base de données de plus de 68,000 lignes.
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour MultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici : http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
MultiSeb
Bonjour,
Je ne connaissais pas cette possibilité. Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de di scussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option po ur obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquemen t les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
Bonjour,
Je ne connaissais pas cette possibilité.
Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" <michde...@hotmail.com> wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple :
Champ page TDC1 = Continents -> Europe
Champ page TDC2 = Pays -> Allemagne
Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et
comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé !
Thanks God, it's friday night !
;-))
"MultiSeb" <multi...@yahoo.com> a écrit dans le message de groupe de di scussion :
c9712d5a-4feb-4fc6-acf9-1e770526f...@p9g2000vbl.googlegroups.com...
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du
rapport. Je souhaite que les valeurs affichées dans le deuxième et le
troisième filtre soient elles-mêmes filtrées en fonction de ce qui a
été choisi dans le filtre précédent. Je ne trouve pas d'option po ur
obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je
choisis Europe, je veux que le deuxième filtre, portant sur les pays,
n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans
le deuxième filtre, je veux que le troisième filtre propose uniquemen t
les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un
extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Je ne connaissais pas cette possibilité. Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de di scussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option po ur obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquemen t les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
michdenis
Avec 2007, fais seulement un copier-coller de ton premier TDC pour en créer un deuxième ou troisième, et tu en modifies l'affichage.
En supposant que tu as 3 TDC sur la même feuille, Tu vas avoir besoin d'un peu de code :
Pour te donner une idée... une partie du code dans le code module où est le TDC
J'ai créé un exemple à partir d'une énorme base de donnée. le fichier fait 16.5 mo compressé... difficile de penser de publier cela !
'---------------------------------------------- Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) Dim X As String, A As String Application.ScreenUpdating = False Application.EnableEvents = False Select Case Target.Name Case Is = "LesRegions" 'Nom du Premier TDC X = Me.PivotTables(Target.Name).PageFields("Region").CurrentPage If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 1, X, "Market", "LeMarcher" A = Worksheets("Market").Range("B2").Value If X = "*" Then A = "(All)" Me.PivotTables("LeMarcher").PivotCache.Refresh Me.PivotTables("LeMarcher").PageFields("Market").CurrentPage = A Me.PivotTables("LeMarcher").Update 'pour le TDC LesVilles X = A If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 2, X, "Ville", "LesVilles" Me.PivotTables("LesVilles").PivotCache.Refresh A = Worksheets("Ville").Range("C2").Value Me.PivotTables("LesVilles").PageFields("City").CurrentPage = A Me.PivotTables("LesVilles").Update
Case Is = "LeMarcher" 'Nom du deuxième TDC X = Me.PivotTables(Target.Name).PageFields("Market").CurrentPage If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 2, X, "Ville", "LesVilles" Me.PivotTables("LesVilles").PivotCache.Refresh A = Worksheets("Market").Range("C2").Value Me.PivotTables("LesVilles").Update End Select Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------
La procédure du filtre :
'------------------------------------------------------ Sub Filtre(Champ As Integer, Crit As String, Dest As String, PlageNommée)
With Feuil4 'Worksheets("DataSet") With .Range("A1").CurrentRegion .AutoFilter Field:=Champ, Criteria1:=Crit Worksheets(Dest).Range("A1").CurrentRegion.Clear .SpecialCells(xlCellTypeVisible).Copy Worksheets(Dest).Range("A1") Worksheets(Dest).Range("A1").CurrentRegion.Name = PlageNommée .AutoFilter sxsx = .Item(2, Champ).Address With Worksheets(Dest).Range("A1").CurrentRegion .Sort key1:=.Item(2, Champ + 1), order1:=xlAscending, Header:=xlYes End With End With End With End Sub '------------------------------------------------------
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
Je ne connaissais pas cette possibilité. Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Merci
Avec 2007, fais seulement un copier-coller
de ton premier TDC pour en créer un deuxième ou troisième,
et tu en modifies l'affichage.
En supposant que tu as 3 TDC sur la même feuille,
Tu vas avoir besoin d'un peu de code :
Pour te donner une idée... une partie du code dans le code
module où est le TDC
J'ai créé un exemple à partir d'une énorme base de donnée.
le fichier fait 16.5 mo compressé... difficile de penser de
publier cela !
'----------------------------------------------
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim X As String, A As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Select Case Target.Name
Case Is = "LesRegions" 'Nom du Premier TDC
X = Me.PivotTables(Target.Name).PageFields("Region").CurrentPage
If X Like "(All)" Then X = "*"
'Procédure dans le module1
Filtre 1, X, "Market", "LeMarcher"
A = Worksheets("Market").Range("B2").Value
If X = "*" Then A = "(All)"
Me.PivotTables("LeMarcher").PivotCache.Refresh
Me.PivotTables("LeMarcher").PageFields("Market").CurrentPage = A
Me.PivotTables("LeMarcher").Update
'pour le TDC LesVilles
X = A
If X Like "(All)" Then X = "*"
'Procédure dans le module1
Filtre 2, X, "Ville", "LesVilles"
Me.PivotTables("LesVilles").PivotCache.Refresh
A = Worksheets("Ville").Range("C2").Value
Me.PivotTables("LesVilles").PageFields("City").CurrentPage = A
Me.PivotTables("LesVilles").Update
Case Is = "LeMarcher" 'Nom du deuxième TDC
X = Me.PivotTables(Target.Name).PageFields("Market").CurrentPage
If X Like "(All)" Then X = "*"
'Procédure dans le module1
Filtre 2, X, "Ville", "LesVilles"
Me.PivotTables("LesVilles").PivotCache.Refresh
A = Worksheets("Market").Range("C2").Value
Me.PivotTables("LesVilles").Update
End Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'----------------------------------------------
La procédure du filtre :
'------------------------------------------------------
Sub Filtre(Champ As Integer, Crit As String, Dest As String, PlageNommée)
With Feuil4 'Worksheets("DataSet")
With .Range("A1").CurrentRegion
.AutoFilter Field:=Champ, Criteria1:=Crit
Worksheets(Dest).Range("A1").CurrentRegion.Clear
.SpecialCells(xlCellTypeVisible).Copy Worksheets(Dest).Range("A1")
Worksheets(Dest).Range("A1").CurrentRegion.Name = PlageNommée
.AutoFilter
sxsx = .Item(2, Champ).Address
With Worksheets(Dest).Range("A1").CurrentRegion
.Sort key1:=.Item(2, Champ + 1), order1:=xlAscending, Header:=xlYes
End With
End With
End With
End Sub
'------------------------------------------------------
"MultiSeb" <multiseb@yahoo.com> a écrit dans le message de groupe de discussion :
53253e18-86ea-4359-8a32-2d76afebc7da@o35g2000vbi.googlegroups.com...
Bonjour,
Je ne connaissais pas cette possibilité.
Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" <michde...@hotmail.com> wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple :
Champ page TDC1 = Continents -> Europe
Champ page TDC2 = Pays -> Allemagne
Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et
comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé !
Thanks God, it's friday night !
;-))
"MultiSeb" <multi...@yahoo.com> a écrit dans le message de groupe de discussion :
c9712d5a-4feb-4fc6-acf9-1e770526f...@p9g2000vbl.googlegroups.com...
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du
rapport. Je souhaite que les valeurs affichées dans le deuxième et le
troisième filtre soient elles-mêmes filtrées en fonction de ce qui a
été choisi dans le filtre précédent. Je ne trouve pas d'option pour
obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je
choisis Europe, je veux que le deuxième filtre, portant sur les pays,
n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans
le deuxième filtre, je veux que le troisième filtre propose uniquement
les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un
extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.
Avec 2007, fais seulement un copier-coller de ton premier TDC pour en créer un deuxième ou troisième, et tu en modifies l'affichage.
En supposant que tu as 3 TDC sur la même feuille, Tu vas avoir besoin d'un peu de code :
Pour te donner une idée... une partie du code dans le code module où est le TDC
J'ai créé un exemple à partir d'une énorme base de donnée. le fichier fait 16.5 mo compressé... difficile de penser de publier cela !
'---------------------------------------------- Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) Dim X As String, A As String Application.ScreenUpdating = False Application.EnableEvents = False Select Case Target.Name Case Is = "LesRegions" 'Nom du Premier TDC X = Me.PivotTables(Target.Name).PageFields("Region").CurrentPage If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 1, X, "Market", "LeMarcher" A = Worksheets("Market").Range("B2").Value If X = "*" Then A = "(All)" Me.PivotTables("LeMarcher").PivotCache.Refresh Me.PivotTables("LeMarcher").PageFields("Market").CurrentPage = A Me.PivotTables("LeMarcher").Update 'pour le TDC LesVilles X = A If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 2, X, "Ville", "LesVilles" Me.PivotTables("LesVilles").PivotCache.Refresh A = Worksheets("Ville").Range("C2").Value Me.PivotTables("LesVilles").PageFields("City").CurrentPage = A Me.PivotTables("LesVilles").Update
Case Is = "LeMarcher" 'Nom du deuxième TDC X = Me.PivotTables(Target.Name).PageFields("Market").CurrentPage If X Like "(All)" Then X = "*" 'Procédure dans le module1 Filtre 2, X, "Ville", "LesVilles" Me.PivotTables("LesVilles").PivotCache.Refresh A = Worksheets("Market").Range("C2").Value Me.PivotTables("LesVilles").Update End Select Application.EnableEvents = True Application.ScreenUpdating = True End Sub '----------------------------------------------
La procédure du filtre :
'------------------------------------------------------ Sub Filtre(Champ As Integer, Crit As String, Dest As String, PlageNommée)
With Feuil4 'Worksheets("DataSet") With .Range("A1").CurrentRegion .AutoFilter Field:=Champ, Criteria1:=Crit Worksheets(Dest).Range("A1").CurrentRegion.Clear .SpecialCells(xlCellTypeVisible).Copy Worksheets(Dest).Range("A1") Worksheets(Dest).Range("A1").CurrentRegion.Name = PlageNommée .AutoFilter sxsx = .Item(2, Champ).Address With Worksheets(Dest).Range("A1").CurrentRegion .Sort key1:=.Item(2, Champ + 1), order1:=xlAscending, Header:=xlYes End With End With End With End Sub '------------------------------------------------------
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
Je ne connaissais pas cette possibilité. Je vais essayer et vous dire quoi.
Merci
On 25 sep, 16:26, "michdenis" wrote:
BonjourMultiSeb,
As-tu essayé d'utiliser le champ "Page" du TDC
Exemple : Champ page TDC1 = Continents -> Europe Champ page TDC2 = Pays -> Allemagne Champ page TDC3 = Ville -> Berlin
Tu choisis comme source de ton TDC2, ton TDC1 et comme source de ton TDC3, ton TDC2
Ce n'est qu'une idée, je n'ai pas testé ! Thanks God, it's friday night ! ;-))
"MultiSeb" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un tableau croisé dynamique comportant plusieurs filtres du rapport. Je souhaite que les valeurs affichées dans le deuxième et le troisième filtre soient elles-mêmes filtrées en fonction de ce qui a été choisi dans le filtre précédent. Je ne trouve pas d'option pour obtenir cette dépendance. Comment faire ?
Exemple : si mon premier filtre porte sur les continents et que je choisis Europe, je veux que le deuxième filtre, portant sur les pays, n'affiche que les pays européens ; et si j'ai choisi l'Allemagne dans le deuxième filtre, je veux que le troisième filtre propose uniquement les villes allemandes.
Comme un bon visuel vaut mieux que de longs discours, j'ai mis un extrait de fichier ici :http://cjoint.com/?jzulEB26ed
J'utilise Excel 2007, mais le fichier est enregistré au format 2003.