Bonjour,
Je suis actuellement en train de faire un programme à l'intention de plusieurs "néophytes" d'exel.
L'idée, c'est que mon userform soit une console qui permette de selectionner des choix, qui appeleront des filtres automatiques qui vont déterminer des champs du tcd (ou pas).
Il y a 3 alternatives.
Une d'elles concerne le secteur (voici un exemple non exhaustif):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub OPEcpcdirect() 'cpc et encadrement' With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields( _ "2- Libellé Domaine 2014 niveau 2") .PivotItems("ENCADREMENT").Visible = True .PivotItems("CPC NORMANDIE").Visible = True .PivotItems("ACR BASSE NORMANDIE").Visible = False End With End Sub
Un autre choix concerne la date (ici, année et mois):
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 'TCD par année et mois' Private Sub TCDPeriodeAnnée_Mois() With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Ex.") .Orientation = xlColumnField .Position = 1 End With With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Ex.") .PivotItems("2013").Visible = True .PivotItems("2015").Visible = True .PivotItems("2015").Visible = True End With Range("E25").Select With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Pér") .Orientation = xlColumnField .Position = 2 End With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Ex."). _ PivotItems("2013").ShowDetail = True Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Ex."). _ PivotItems("2014").ShowDetail = True Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields("Ex."). _ PivotItems("2015").ShowDetail = True End Sub
La derniere alternative porte sur un type d'activité (ici "tempete"):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub tempete() With Worksheets("TCD").PivotTables("Tableau croisé dynamique1").PivotFields( _ "Dépenses par Tempête") .Orientation = xlRowField End With End Sub
Mon programme marche, il n'y a pas de probleme mais:
J'aimerais bien pouvoir sauvegarder les choix des utilisateurs pour pouvoir leur reproposer plus tard, sans qu'ils aient à repasser par la console en réindiquant leurs préférences, à chaque fois.
malheureusement,je n'arrive pas à sauvegarder la mise en forme des champs et des filtres du TCD
1- Est-ce possible?
2- Si oui, avez vous des suggestions? Je suis perdu
3-Dites moi si je ne suis pas assez clair
Merci d'avance, je suis moi-même un néophyte de VBA exel![]()
Partager