Bonsoir tout le monde,
Voilà quelques temps que je bloque sur quelque chose certainement simple mais je ne vois pas la solution.
En effet, dans ma feuille Excel, j'ai plusieurs listes qui permettent d'alimenter un tableau croisé dynamique.
Les étiquettes de colonnes de mon TCD correspondent à la colonne où l'on trouve des chapitres et tous ces chapitres sont également générés dans une combobox.
J'ai placé cette combobox dans un userform car après toutes mes recherches sur internet il m'a semblé que c'était la plus simple des solutions.
Ce que je souhaiterai c'est qu'à partir de cette combobox, je puisse sélectionner un chapitre voulu à générer dans mon TCD, sans que les autres ne s'affichent.
(J'ai fortement simplifié mon problème mais c'est la partie pour laquelle j'ai le plus besoin d'aide)
Mon fichier est en PJ.
Voici mon code actuel (que j'ai écrit à partir d'informations provenant de différents sites d'aide Excel):
Je vous suis très reconnaissant par avance
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Private Sub UserForm_Initialize() Dim j As Integer 'Récupère les données de la colonne C... For j = 1 To Range("C65536").End(xlUp).Row ComboBox1 = Range("C" & j) '...et filtre les doublons If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("C" & j) Next j End Sub Private Sub CommandButton1_Click() MsgBox ComboBox1.Value UserForm1.Hide End Sub Sub TCD() End Sub Dim sl() For i = 0 To ComboBox1.Count - 1 If ComboBox1.Selected(i) = True Then ReDim Preserve sl(i) sl(i) = ComboBox1.List(i) End If Next i With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Chapitre 1") For Each Pi In .PivotItems Pi.Visible = True Next For Each Pi In .PivotItems If Pi <> sl(x) Then x = x + 1 Pi.Visible = False Next End With End Sub.
Partager