Macro Application de filtres TCD - VBA

Bonjour à tous,

J'ai écumé quelques forum à la recherche d'une explication mais tous les problèmes étaient bien plus compliqués que le mien et n'ont pas vraiment été en mesure de m'aider.. Je me tourne donc vers vous !

Je cherche, avec une macro VBA, à mettre à jour les filtres présents sur mes TCD (ces derniers sautent pour je ne sais quelle raison, surement une de mes macros.. ^^'). J'ai donc utilisé l'enregistreur de macro mais pas de bol... le code me retourne une " Erreur d'exécution '1004': Erreur définie par l'application ou par l'objet "... (même en exécutant le code enregistré sans rien modifier)..

Le code enregistré est le suivant, la seule modification que je viens y apporter est d'enlever le "Activesheet" et de le remplacer par un bloc "With / End With". Le .ClearAllFilters fonctionne mais pas le .CurrentPage.

ActiveSheet.PivotTables("TCD_In-serv_Reliab_Interne").PivotFields( _
        "KPI? (1-oui / 0-non)").ClearAllFilters
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Interne").PivotFields( _
        "KPI? (1-oui / 0-non)").CurrentPage = "1"
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Interne").PivotFields("source"). _
        ClearAllFilters
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Interne").PivotFields("source"). _
        CurrentPage = "Interne"
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Ext BBD").PivotFields( _
        "KPI? (1-oui / 0-non)").ClearAllFilters
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Ext BBD").PivotFields( _
        "KPI? (1-oui / 0-non)").CurrentPage = "1"
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Ext BBD").PivotFields("source"). _
        ClearAllFilters
    ActiveSheet.PivotTables("TCD_In-serv_Reliab_Ext BBD").PivotFields("source"). _
        CurrentPage = "Externe avionneur (BBD)"
    ActiveWorkbook.RefreshAll

Avez vous une idée quant-à l'origine du bug ?

Merci d'avance !

Bien cordialement, Florian M.

tcd kpi

Bonjour,

Pour le principe et à adapter, car sans fichier, il est difficile d'intervenir

Cdlt.

Option Explicit

Public Sub DEMO()
Dim ws As Worksheet
Dim pt As PivotTable

    Set ws = ActiveSheet
    Set pt = ws.PivotTables("TCD_In-serv_Reliab_Interne")

    With pt
        .ManualUpdate = True
        With .PageFields("KPI? (1-oui / 0-non)")
            .ClearAllFilters
            .CurrentPage = "1"
        End With
        With .PageFields("source")
            .ClearAllFilters
            .CurrentPage = "Interne"
        End With
        .ManualUpdate = False
    End With

    Set pt = ws.PivotTables("TCD_In-serv_Reliab_Ext BBD")

    With pt
        .ManualUpdate = True
        With .PageFields("KPI? (1-oui / 0-non)")
            .ClearAllFilters
            .CurrentPage = "1"
        End With
        With .PageFields("source")
            .ClearAllFilters
            .CurrentPage = "Externe avionneur (BBD)"
        End With
        .ManualUpdate = False
    End With

    Set pt = Nothing: Set ws = Nothing

End Sub
Rechercher des sujets similaires à "macro application filtres tcd vba"