VBA changer filtre TCD depuis IHM

Signaler
-
 VBADebutant -
Bonjour,
Bonjour,
je dispose de TCD sur 2 feuilles differentes filtrés par date et par scenario type
j'ai créee un user form avec un textbox "date et un combox scenario type
je souhaite changer les filtre des 2 TCD depuis l'IHM
vu que je débute en VBA j'ai enregistré une macro pour avoir le code que je n'arrive pas a adapter pour l'automatiser
Sub change_filter()
'
' change_filter Macro
'
Dim prodWorksheet As Worksheet, testWorksheet As Worksheet
Dim IHMdate As String
Dim ScenType As String
Set prodWorksheet = ThisWorkbook.Worksheets("ProdDATA")
Set testWorksheet = ThisWorkbook.Worksheets("TestDATA")
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''' variable a insérer pour automatiser les changement de filtres via ihm
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IHMdate = UserForm1.TB_Date.Value
ScenType = UserForm1.CB_scenariotype.Value

'
prodWorksheet.Select
prodWorksheet.PivotTables("PROD").PivotFields( _
"[As Of Date].[As Of Date].[As Of Date]").ClearAllFilters
prodWorksheet.PivotTables("PROD").PivotFields( _
"[As Of Date].[As Of Date].[As Of Date]").CurrentPageName = _
"[As Of Date].[As Of Date].&[20131007]"
ActiveSheet.PivotTables("PROD").PivotFields( _
"[Scenario].[Scenario Type].[Scenario Type]").ClearAllFilters
prodWorksheet.PivotTables("PROD").PivotFields( _
"[Scenario].[Scenario Type].[Scenario Type]").CurrentPageName = _
"[Scenario].[Scenario Type].&[DELTABASISINTERCUR]"
testWorksheet.Select
testWorksheet.PivotTables("TEST").PivotFields( _
"[As Of Date].[As Of Date].[As Of Date]").ClearAllFilters
testWorksheet.PivotTables("TEST").PivotFields( _
"[As Of Date].[As Of Date].[As Of Date]").CurrentPageName = _
"[As Of Date].[As Of Date].&[20131007]"
testWorksheet.PivotTables("TEST").PivotFields( _
"[Scenario].[Scenario Type].[Scenario Type]").ClearAllFilters
testWorksheet.PivotTables("TEST").PivotFields( _
"[Scenario].[Scenario Type].[Scenario Type]").CurrentPageName = _
"[Scenario].[Scenario Type].&[DELTABASISINTERCUR]"


après plusieurs syntaxes essayées , dans le code généré par excel je n'ai pas trouvée la bonne syntaxe pour mettre mes 2 variables décalarés afin d'automatiser le changement de date et de scenario type
merci pour votre préciseuse aide

2 réponses

Messages postés
30294
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2020
338
Bonjour,
Un mois après.... c'est surement résolu..

A tout hasard... je pense que ton souci est au niveau du passage de tes variables.

Essayes le code suivant tu comprendras surement où tu as fait ton erreur :
Sub test()
    Dim x As Integer
        x = 100
    Debug.Print "Bonne façon de faire N°" & x
    Debug.Print "Mauvaise façon de faire N° & x "
End Sub


Ce qui donnerait, pour ton cas :
"[As Of Date].[As Of Date].[" & IHMdate & "]" 


merci du retour:)