XL 2013 Filtrer un TCD à partir de la valeur d'une cellule

lolomars

XLDnaute Nouveau
Bonjour à tous,

La question a déjà été posée mais je n'ai pas trouvé la solution à mon problème.

Je possède un TCD ("TCD") dans une feuille ("Data Suivi Lignes 2015 par mois").
Sur une autre feuille ("Dashboard"), je souhaite que lorsque je renseigne une cellule ("TextBox"), la valeur soit celle appliquée au filtre de mon TCD.
Le champ à filtrer est "Esc".

J'ai tenté d'adapter ce code trouvé par ailleurs, sans succès:
J'ai: "code erreur d’exécution 438: Propriété ou méthode non gérée par cet objet"

-----------------------------------------------------------------------------------
Public Sub FilterPivotTable()

Sheets("Data Suivi Lignes 2015 par mois").Activate

With ActiveSheet
.PivotTables("TCD").PivotFields("esc").ClearAllFilters
.PivotTables("TCD").PivotFields("esc").PivotFilters.Add _
Type:=xlCaptionEquals, Value1:=Worksheets("Dashboard").TextBox.Value
End With

End Sub

-----------------------------------------------------------------------------------
Merci d'avance pour votre aide!
 

Pièces jointes

  • Test xls.xls
    182 KB · Affichages: 29
  • Test xls.xls
    182 KB · Affichages: 31
Dernière modification par un modérateur:

lolomars

XLDnaute Nouveau
Re : Filtrer un TCD à partir de la valeur d'une cellule

Merci pour le conseil!

Qu'à cela ne tienne, voila donc un fichier épuré de ses données sensibles.

L'idée est que la valeur entrée en B3 soit apappliquée au filtre "Esc" de mon TCD sur la feuille "Data Suivi Lignes 2015 par mois"

Merci!
 

lolomars

XLDnaute Nouveau
Re : Filtrer un TCD à partir de la valeur d'une cellule

Bonjour Chris et merci pour la réponse.
Cependant, le segment ne correspond pas à mon besoin, car cette cellule sert aussi à alimenter des recherchev.
Une autre solution à proposer?
 

chris

XLDnaute Barbatruc
Re : Filtrer un TCD à partir de la valeur d'une cellule

Re

La commande est
Code:
   .PivotTables("TCD").PivotFields("Esc").CurrentPage = ...
pour un champ en zone de filtre

Pas trouvé de textbox dans ton exemple
 

lolomars

XLDnaute Nouveau
Re : Filtrer un TCD à partir de la valeur d'une cellule

Re

La commande est
Code:
   .PivotTables("TCD").PivotFields("Esc").CurrentPage = ...
pour un champ en zone de filtre

Pas trouvé de textbox dans ton exemple

Merci Chris pour ce début de réponse.
La cellule B3 est supposée s'appelait TextBox (ou AirportCode) ?:confused:
Pour la suite, je ne maitrise pas le code VBA, si tu pouvais me donner la commande complète à intégrer...

Merci pour ton aide!
 

chris

XLDnaute Barbatruc
Re : Filtrer un TCD à partir de la valeur d'une cellule

Bonjour

Si je reprends ton code
Code:
Public Sub FilterPivotTable()

Sheets("Data Suivi Lignes 2015 par mois").Activate

With ActiveSheet
.PivotTables("TCD").PivotFields("Esc").CurrentPage = Range("AirportCode").Value
End With

End Sub
Cependant le risque est que la valeur de la cellule AirportCode n'existe pas dans le TCD (c'est la cas dans ton exemple) il faut donc tester son existence dans la source du TCD
Code:
Public Sub FilterPivotTable()

Sheets("Data Suivi Lignes 2015 par mois").Activate

    With ActiveSheet
    '.PivotTables("TCD").PivotFields("esc").ClearAllFilters
        If WorksheetFunction.CountIf(Worksheets("Raw data").Range("C:C"), Range("AirportCode").Value) > 0 Then
            .PivotTables("TCD").PivotFields("Esc").CurrentPage = Range("AirportCode").Value
        End If
    End With

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 766
Membres
101 815
dernier inscrit
sgep59