TCD Hyper Dynamique ????

  • Initiateur de la discussion Nicolas
  • Date de début
N

Nicolas

Guest
Bonjour a tous,

Voila j'ai créé une application qui a pour objectif une fonction de soutien a des commerciaux. Toute l'interface est a partir de TCD.

Seulement pour rendre ca encore plus convivial, j'aimerais savoir si il est possible que les utilisateurs finaux puissent choisir les champs a afficher dans le TCD en passant par un userform par exemple. Plutot que de faire clic droit - assistant et insérer les champs ???

Un userform avec par exemple tout les champs de prédéfinis et on clic sur une zone de validation pour dire lesquels on veux.

Voila si qqun sait faire ca, ca serait au top.

Si un noob en vba moi donc excuser même si j'imagine que ca doit pas etre si compliqué que ca d'affecter une macro a chaque sélection effectué. Je cherche mais j'y arrive pas du tout j'y comprend rien. Donc si quelqu'un connait la structure du code a taper, je suis preneur moi
 
R

Ronan Quennec

Guest
Bonjour à tous,

Cet exemple est valable uniquement dans le cas où tu n'as qu'un seul critère en ligne dans ton TCD

Nom de l'userform : UserForm2
Un controle ListBox : ListBox1
Un commandbutton1 : CommandButton1
Un commandbutton2 : CommandButton2

Tu initialise ton userform en ajoutant au listbox tous les champs que tu désires.

Ensuite, l'utilisateur n'a plus qu'a sélectionner un champ dans le listbox et à cliquer sur le bouton OK pour que le TCD se modifie automatiquement

Au fait, le TCD doit se nommer : Tableau croisé dynamique1


Private Sub CommandButton1_Click()
Dim a As String
On Error Resume Next
a = Me.ListBox1.Value
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:=a
End Sub

Private Sub CommandButton2_Click()
Unload UserForm2
End Sub

Private Sub UserForm_Initialize()
Me.ListBox1.AddItem "DATE"
Me.ListBox1.AddItem "JOUR"
Me.ListBox1.AddItem "MOIS"
Me.ListBox1.AddItem "ANNEE"
Me.ListBox1.AddItem "TYPE"
End Sub

@+

Ronan
 

Statistiques des forums

Discussions
314 656
Messages
2 111 613
Membres
111 225
dernier inscrit
arnaud3110