Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 synchronisation filtre TCD avec plage de cellules dynamique

  • Initiateur de la discussion Initiateur de la discussion marjo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

marjo

XLDnaute Nouveau
J'ai un 1er TCD qui permet de sélectionner les codegeo qui représente 80% de l'activité de l'entreprise.
Je définis ainsi la zone d'attractivité de l'entreprise.

Je souhaite par la suite réaliser différents TCD basés sur cette sélection de codegeo.
Je ne peux pas utiliser les segments car sinon je n'arrive pas à faire le filtre des 80%.

Je dois donc passer par le VBA.
J'ai nommé dynamiquement ma plage de codegeo 'Perimetre'
Je souhaiterai que dès que l'utilisateur change d'entreprise sur le 1er TCD et que donc le Perimetre change, le filtre Codegeo se mette à jour sur les autres TCD en fonction du nouveau Perimetre.

J'ai réussi à faire en sorte que le filtre du TCD se mette à jour en fonction du 1er code geo
Mais je n'arrive pas à l'adapter pour qu'il prenne en compte l'ensemble des codes géo; il me semble qu'il ne prend en compte que la 1ère cellule de la plage.

Merci pour votre aide
 

Pièces jointes

Bonjour

Un segment sur l'entreprise n'empêche pas le filtre des 80%

Tu ne peux pas utiliser CurrentPage car il faut autoriser la multi sélection sur le champ.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Si changement cellule D2 alors
    If Not Intersect(Target, Range("D2")) Is Nothing Then

    Dim Pt As PivotTable
        For Each Pt In Worksheets("Feuil3").PivotTables
            With Pt.PivotFields("CODEGEO")
                .ClearAllFilters
                .EnableMultiplePageItems = True
                For Each codegeo In .PivotItems
                    OK = False
                    For i = 2 To PivotTables(1).RowRange.Cells.Count
                        If codegeo.Value = PivotTables(1).RowRange.Cells(i, 1).Text Then OK = True : Exit For
                    Next i
                    If OK = False Then codegeo.Visible = False
                Next
           End With
       Next Pt

    End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
842
Réponses
8
Affichages
1 K
Réponses
11
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…