TCD Filtre auto via un tableau dans une autre feuille

Bonjour,

Je suis novice en VBA et besoin d'aide, svp

Mon but, obtenir un filtre pour mon tcd via un autre tableau sur une autre feuille.

Référence du filtre "PO"

10try-tcd-filtre.xlsm (250.65 Ko)

Ci-joint un exemple.

malgré mes essais répéter je n'y arrives pas...

Merci d'avance

A dispo

Bonjour,

Votre TCD n'est pas bien construit, PO doit se loger dans la zone filtre, et il n'y a rien dans la zone des valeurs. Je vous invite à démarrer l'enregistreur de macro, et en sélectionnant le TCD, y placer tous les éléments de votre choix, s'il est bien construit vous pourrez adapter le résultat de la macro ainsi obtenue à votre propre macro.

Cdlt

Merci pour votre réponse, oui effectivement...

Je l'ai refais correctement cela donne ça:

Sub Macro5()
' Macro5 Macro
'
'
    Range("Tableau2[PO]").Select
    Selection.Copy
    ActiveSheet.ListObjects("Tableau2").Range.AutoFilter Field:=1
    Sheets("TCD").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        ClearAllFilters
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        CurrentPage = "114011"
End Sub

Maintenant il faut ajouter la variable, j'ai essayé cela

ub Macro2()
'
' Macro2 Macro
Dim ws_Filtre As Worksheet
Dim ws_TCD As Worksheet

Set ws_Filtre = Worksheets(2)
Set ws_TCD = Worksheets(3)

'Ma variable

varia = ws_Filtre.Cells(2, 1)

'

    Sheets("TCD").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        ClearAllFilters
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        CurrentPage = "varia"
End Sub

Et cela m'indique erreur 1004 Définie par l'application ou par l'objet

Merci pour votre aide

Oui mais, vous n'avez pas exécuté l'enregistrement de la macro jusqu'au bout, où placez-vous les éléments. Exemple ici:

tampix

PO est placé dans la zone de Filtre

Bonjour Arturo,

J'ai réussi enfin!

Ci-dessous les éléments

2023 03 10 07h02 55

Et le code qui fonctionne:

Sub Macro2()
'
' Macro2 Macro
Dim ws_Filtre As Worksheet
Dim ws_TCD As Worksheet
 'Déclaration de la variable
Dim varia As Long

Set ws_Filtre = Worksheets(2)
Set ws_TCD = Worksheets(3)

'Ma variable

varia = ws_Filtre.Cells(2, 1)

'

    Sheets("TCD").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        ClearAllFilters

    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PO"). _
        CurrentPage = varia

End Sub

Merci beaucoup pour votre aide!

Maintenant je vais ajouter une condition en cas de données non connue.

Rechercher des sujets similaires à "tcd filtre auto via tableau feuille"