Sauvegarder la valeur des champs et des filtres d'un TCD

Résolu
Benjam' - 25 mars 2015 à 15:37
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 27 mars 2015 à 13:03
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):
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):


'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"):
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

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 212
Modifié par ucfoutu le 27/03/2015 à 11:50
Bonjour,
Si j'ai bien compris, chaque utilisateur différent peut avoir ses préférences personnelles.
Je ne vois dans ce cas pas d'autres solutions que celle de l'écriture de ces préférences sur disque dur (un fichier texte par utilisateur ou une base de données) puis la lecture de ces données et leur application à chaque session, en fonction de l'utilisateur.
Il s'agit là d'une opération simple.

Edit : Si tu choisis de garder ces données dans un fichier texte, tu peux également n'utiliser qu'un seul fichier, à écrire et lire dans ce cas à l'aide d'une structure (variable d'un type personnalisé).
Dans un cas (fichier texte) ou l'autre (base de données) :
- soit tu sais écrire puis lire un fichier texte ou exploiter une base de données ===>> et tu as alors ta réponse
- soit tu ne le sais pas ===>> et ton problème technique n'est alors plus le but final que tu exposes (conservation des valeurs), mais plus général (quel que soit le motif de la conservation) ===>> et dans ce cas ===>> une discussion à ce propos, sans même parler de ce que tu as à conserver puis exploiter

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
1
Bonjour, et merci pour ta réponse. Tu as bien compris ce que je veux faire. Il n'y a donc pas moyen de sauvegarder la mise en forme des champs et des filtres d'un TCD?
Y en a t'il un pour récupérer le nom d'un champ actif à partir de mon TCD "mis en forme"
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 212
Modifié par ucfoutu le 27/03/2015 à 13:27
- je crois t'avoir répondu en ce qui concerne le premier point
- le second point a peut-être quelque chose à voir avec ton projet, mais rien avec la question posée par la discussion que tu as ouverte ! (c'est encore autre chose ... une autre difficulté technique ... !)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Rejoignez-nous