Menu pour piloter 2 tcd dont un critere est identique
#1
Aspirant XLPages

Inscription: 16/07/2011

Messages: 23

Système d'exploitation:
PC
Version Excel utilisée:
2003-2007
Posté le : 09-11-2011 08h36
Bonjour,
A partir d'une base de données, j'ai créé 2 TCD qui possèdent 2 filtres de rapport identique. Ils sont sur la même feuille et je voudrais au lieu de changer ce filtre "magasin" à la main dans les 2 TCD, n'avoir qu'une seule fois à changer.

Est-il possible de mettre ce champ dans un menu déroulant au dessus des TCD et que les TCD s'ajustent en fonction de ce que je choisirai dans ce menu ?

Merci
Tom

Pièce jointe:
xlsx tom3.xlsx   [ Taille: 13.85 Ko - Téléchargements: 447 ]
Hors Ligne
Rapport   Haut 

Re: Menu pour piloter 2 tcd dont un critere est identique
#2
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 09-11-2011 15h35
Bonjour Tom

Un petit essai en PJ au cas où cela puisse t'aider

  • Mise à jour des filtres des TCD:
Le petit code ci-dessous inséré dans le code de la feuille contenant les TCD permet de modifier les filtres dès que la valeur de la cellule B4 est modifiée:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pvt As PivotTable, VMag As String

If Target.Address = "$B$4" Then
    With Sheets("Feuil2")
    VMag = .Range("B4")
        For Each Pvt In .PivotTables
            With Pvt.PivotFields("magasin")
                .ClearAllFilters
                .CurrentPage = VMag
            End With
        Next Pvt
    End With
End If
End Sub
 

  • Pour créer la liste de validation:
Les libellés des différents magasins sont installés dans la colonne J de la Feuille1, pour faire référence à cette liste j'ai créé une plage dynamique nommée "Magasins" à l'aide de cette formule:
=DECALER(Feuil1!$J$2;;;NBVAL(Feuil1!$J:$J)-1)
Une fois cette plage définie, dans la cellule B4 de la feuille 2, tu choisis le menu "données" puis dans le ruban "Validation de données", dans la fenêtre qui s'ouvre, onglet options, tu autorises "Liste" et sur la ligne "Source" tu inscris =Magasins.

Au cas où, si tu ne disposes pas de la liste avant, tu peux toujours la créer, par exemple avec ce code (il doit y avoir mieux):

Private Sub Worksheet_Activate()
Dim derlig As Long

With Sheets("Feuil1")
    .Columns("J:J").ClearContents
    .Range(.Range("C3"), .Range("C3").End(xlDown)).Copy .Range("J1")
    .Range("$J$1:$J$" & .Cells(Rows.Count, 10).End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("J1:J9"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   
    derlig = .Cells(Rows.Count, 10).End(xlUp).Row
    With .Sort
        .SetRange Range("J2:J" & derlig)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End With
End Sub
 

à chaque activation de la feuill2, les données de la feuille1 colonne C sont copiées colonne J, les doublons sont retirés et les données sont triées.

Bien à toi,

mth

Pièce jointe:
xlsm tom3(1).xlsm   [ Taille: 25.46 Ko - Téléchargements: 570 ]
Hors Ligne
Rapport   Haut 

Re: Menu pour piloter 2 tcd dont un critere est identique
#3
Aspirant XLPages

Inscription: 16/07/2011

Messages: 23

Système d'exploitation:
PC
Version Excel utilisée:
2003-2007
Posté le : 11-11-2011 15h05
Bonjour et merci pour ces éléments.
J'ai essayé dans le fichier joint mais en ciblant la liste déroulante magasin, sur le tableau de données lui même.
Il s'affiche du coup le nom "magasin" dans le menu déroulant en cellule B4 mais pas les elements de cette liste ?
Où me suis je trompé stp ?

Merci
Pièce jointe:
xlsm Copie de tom3.xlsm   [ Taille: 20.62 Ko - Téléchargements: 560 ]
Hors Ligne
Rapport   Haut 

Re: Menu pour piloter 2 tcd dont un critere est identique
#4
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 11-11-2011 18h52
Bonjour à tous, bonjour Tom,

Dans ta validation de données, tu as juste oublié le signe = devant Magasins, sur la ligne "Source" tu dois écrire : =Magasins

Bonne soirée,

mth
Edité par Mth le 11/11/2011 19:30:02
Hors Ligne
Rapport   Haut 

Re: Menu pour piloter 2 tcd dont un critere est identique
#5
Aspirant XLPages

Inscription: 16/07/2011

Messages: 23

Système d'exploitation:
PC
Version Excel utilisée:
2003-2007
Posté le : 11-11-2011 21h59
bonsoir,
MErci cela marche parfaitement.
Hors Ligne
Rapport   Haut 

Re: Menu pour piloter 2 tcd dont un critere est identique
#6
Aspirant XLPages

Inscription: 16/07/2011

Messages: 23

Système d'exploitation:
PC
Version Excel utilisée:
2003-2007
Posté le : 29-11-2011 20h13
sujet clos
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes