Sauvegarder la valeur des champs et des filtres d'un TCD [Résolu]

- 25 mars 2015 à 15:37 - Dernière réponse :
Messages postés
18039
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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
Modifié par ucfoutu le 27/03/2015 à 11:50
1
Merci
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

Merci ucfoutu 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de ucfoutu
0
Merci
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"
Commenter la réponse de Benjam'
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
Modifié par ucfoutu le 27/03/2015 à 13:27
0
Merci
- 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
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.