Bonjour,

J'ai une liste déroulante qui cchange les PivotItems d'un PivotFiels specific. Je cherche un moyen de créer une liste dans une collone de tous ces PivotsItems et ainsi me servir de cette liste comme source de donnée pour ma liste déroulante.

Voici le code que j'ai fait et que j'utilise.

Alors dans la feuille où j'ai ma liste déroulante, j'ai ce Worksheet_Change:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Private Sub Worksheet_Change(ByVal Target As Range) 
If Range("C3") = "xbox360" Then Call TCDxbox360 
If Range("C3") = "WII" Then Call TCDwii 
If Range("C3") = "ps3" Then Call TCDps3 
If Range("C3") = "PC" Then Call TCDpc 
End Sub


Ensuite le code qui bind les string sélectionnées dans la liste déroulante avec le PivotItems correspondant (je cache tout et puis j'affiche cette item).


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim monPivIt As Object, plateform
plateform = "xbox360" 
 
Sheets("XML Parser").Visible = True 
Sheets("XML Parser").Select 
Application.ScreenUpdating = False 
 
With ActiveSheet.PivotTables("XML_Parser").PivotFields("Console") 
For Each monPivIt In .PivotItems 
monPivIt.Visible = True 
Next 
For Each monPivIt In .PivotItems 
If monPivIt.Name <> plateform Then monPivIt.Visible = False 
Next 
End With 
 
Application.ScreenUpdating = True 
 
Sheets("XML Parser").Visible = False 
Application.Goto Sheets("initialSetup").Range("A1") 
 
End Sub
Le problème c'est que la liste déroulante contient des string que j'ai entré à la main et cela peut entrainer des erreurs. Je voudrais donc créer ma source pour la liste déroulante a partir d'une macro VB qui va lister tous les items de mon .PivotTables("XML_Parser").PivotFields("Console").

Aussi, je il faudrait que je trouve un moyen pour que mon binding se fasse sans avoir à entrer manuellement les strings à la main (If Range("C3") = "xbox360" Then Call TCDxbox360 )


Je n'ai pas reçu de formation en VBA et je tapotte du mieux que je peux. Seulement j'arrive à rien depuis des jours.
Merci de bien vouloir m'aider!