Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 22h50   #1
 
Homme
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : -1
Points : -1
Par défaut Afficher la liste des PivotItems dans une colonne

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 :
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 :
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!
Camaytoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web