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).
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").
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
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!




Répondre avec citation
Partager