Modification automatique d'un filtre de TCD à partir d'une liste

mouftie

XLDnaute Junior
Bonjour,
je fais suite au post https://www.excel-downloads.com/thr...-partir-dune-selection-dans-une-liste.186047/
(je ne sais pas s'il faut ouvrir un nouveau post ou continuer un post qui date de l'année dernière ?)

Je cherche à réalser quelque chose de semblable, mais sur 2 filtres.
J'ai essayé de reprendre ce qu'a fait JC :

  • J'ai créé une liste des dates (Nommée ListDate avec comme réf. =DECALER(base!$N$2:$N$11;;;NBVAL(base!$N$2:$N$11))

  • J'ai fait une validation des données avec comme source =ListDate

  • J'ai fait un copier/coller de la procédure de JC Sub Gestionnaire() avec une Sub Periode(), en remplaçant le mot gestionnaire par periode et la réf. Cells(3, 3) par Cells(3,6)

  • J'ai ajouté If Target.Address = "$F$3" Then Call Periode à la procédure Private Sub Worksheet_Change(ByVal Target As Range)

Quand je change le nom du gestionnaire, la procédure de JC fonctionne à merveille
Quand je change la date, ma procédure plante au motif
'Impossible de définir la propriété CurrentPage de la classe PivotField
Je ne comprends pas pourquoi :mad:

Je vous joins le fichier de JC "mal" modifié par mes soins... http://cjoint.com/?CJEpnzfIzP7

Merci pour votre aide
 

JCGL

XLDnaute Barbatruc
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour à tous,

CurrentPage est applicable au Filtre, j'ai donc déplacé Période en Filtre...

A+ à tous
 

Pièces jointes

  • JC Test TCD MaJ Validation.xlsm
    56 KB · Affichages: 47

mouftie

XLDnaute Junior
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour JC et les autres,
Cette nuit, j'ai repensé aux diverses possibilités offertes par cette procédure et je me suis demandée s'il serait possible de supprimer la feuille 1 de choix des filtres et de la remplacer par une interaction entre les TCD directement.

Je m'explique, il faudrait que si je choisis le Gestionnaire "X" dans le TCD2 (par ex), cela mette à jour les 5 autres TCD, de même si je choisis le mois de fév (par ex) dans le TC3, cela entraîne Fév dans tous les autres TCD.

Merci.
 

mouftie

XLDnaute Junior
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour KingFadhel,
Je suis bien d'accord avec toi, mais il y a beaucoup de ddes qu'on ne peut pas utiliser car les fichiers joints sont très souvent joints pour une période limitée.
C'est dommage...
A bientôt
 

kingfadhel

XLDnaute Impliqué
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour mouftie,
Quant à moi je passe sur le forum une fois le matin au boulot et une le soir à la maison, je regarde les nouveaux posts et les problèmes, j'essaye de donner un coup de main si j'ai la solution immédiate sinon je me casse la tête la dessus.
Autre chose, en passant et regardant les différents posts à chaque fois si je trouve un truc dans un fichier qui me semble utile et que je peu l'utiliser au future alors je le sauvegarde sur mon PC et comme ça la période devient illimitée.

a bientôt
 

JCGL

XLDnaute Barbatruc
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour à tous,

Un essai avec un bouton après un choix sur le TCD1 de la feuille 'Recap1' et valable pour tous les TCDs de toutes les feuilles dont le nom commence par 'Recap' :

VB:
Option Explicit

Sub MàJ()
    Dim Ges As String, Per As String, X&, Sh&
    Ges = Feuil2.PivotTables("TCD1").PivotFields("Gestionnaire").CurrentPage
    Per = Feuil2.PivotTables("TCD1").PivotFields("Période").CurrentPage

    Application.ScreenUpdating = 0

    For Sh = 1 To Sheets.Count
        If Left(Sheets(Sh).Name, 5) = "Recap" Then
            For X = 1 To Sheets(Sh).PivotTables.Count
                With Sheets(Sh).PivotTables("TCD" & X)
                    .PivotFields("Gestionnaire").CurrentPage = "(All)"
                    .PivotFields("Période").CurrentPage = "(All)"
                    .PivotFields("Gestionnaire").CurrentPage = Ges
                    .PivotFields("Période").CurrentPage = Per
                End With
            Next X
            Cells(1, 5).Select
        End If
    Next Sh
    ActiveWorkbook.RefreshAll
End Sub

A+ à tous
 

Pièces jointes

  • JC TCD MaJ.xlsm
    65.2 KB · Affichages: 39

JCGL

XLDnaute Barbatruc
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Bonjour à tous,
Salut mon Ges,

Je me doutais bien que tu allais rebondir... Arf. Arf.

(Grosse voie gutturale) : "Je suis ton Père"

dark_vador_cd.jpg

A+++ mon ami et bises chez toi

A+ à tous
 

mouftie

XLDnaute Junior
Re : Modification automatique d'un filtre de TCD à partir d'une liste

Whoa !
Avec votre mini procédure (mais si puissante...) un TCD (le N°1 de la feuille 1) vous pilotez tous les autres TCD.

Il faut toute fois préciser d'une part que tous les TCD de chaque feuille doivent s'appeler "TCD" et leur numérotation commencer à (sur chaque feuille) à 1. (je ne sais pas si ça peut avoir une incidence sur les formules futures).

D'autre part que seul le TCD1 Feuil1 pilote l'ensemble et non n'importe lequel.

encore Merci.
 

Discussions similaires

Réponses
1
Affichages
250
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla