trier filtre de champs dans TCD sur base COMBOBOX

kikol

XLDnaute Junior
Bonjour,

après avoir réussi a trier à partir d'un combobox, les lignes d'un TCD (PivotFields) j'ai voulu appliquer la meme démarche pour le champs PageField et la rien ne se passe comme prévu. le principe utilisé pour les lignes ne marche pas pour les champs et je ne comprends pas pourquoi.

Ci dessous le code :
Private Sub MOIS_BUDGET_Change()
'Reduction du TCD sur le filtre de champ selectionné
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("MOIS")
For i = 1 To .PivotItems.Count
If .PivotItems(MOIS_BUDGET.Value) = .PivotItems(i).Name Then (C'est là que çà ne marche pas!!!)
.PivotItems(MOIS_BUDGET.Value).Visible = True
Else
.PivotItems(i).Visible = False
End If
Next
End With
End Sub
Private Sub ComboBox1_Change()
'Reduction du TCD sur le filtre de champ selectionné
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
For i = 1 To .PivotItems.Count
If .PivotItems(ComboBox1.Value) = .PivotItems(i).Name Then
.PivotItems(ComboBox1.Value).Visible = True
Else
.PivotItems(i).Visible = False
End If
Next
End With

Sheets("BUDGETS MENSUELS").Select
A = Cells(4, 4).Value
SOLDE_AVANT.Value = A

End Sub
Private Sub CommandButton1_Click()
Dim i As Integer
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
For i = 1 To .PivotItems.Count
.PivotItems(i).Visible = True
Next
End With
MOIS_BUDGET.Clear
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("Mois")
For i = 1 To .PivotItems.Count
MOIS_BUDGET.AddItem .PivotItems(i).Name
Next
End With
For i = MOIS_BUDGET.ListCount - 1 To 0 Step -1
If MOIS_BUDGET.List(i) = "(blank)" Or MOIS_BUDGET.List(i) = "Mois" Then MOIS_BUDGET.RemoveItem (i)
Next
ComboBox1.Clear
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
For i = 1 To .PivotItems.Count
ComboBox1.AddItem .PivotItems(i).Name
Next
End With
For i = ComboBox1.ListCount - 1 To 0 Step -1
If ComboBox1.List(i) = "(blank)" Or ComboBox1.List(i) = "N° Compte" Then ComboBox1.RemoveItem (i)
Next
End Sub


Merci d'avance!

Kikol
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas