Excel TCD masquer les elements d un champ

Fermé
patzap - 26 mai 2008 à 14:13
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 - 30 mai 2008 à 11:51
Bonjour,

J'ai une base de données avec des informations pour tous les services.
J'ai créé 1 TCD me permettant de synthétiser les informations par service.
Dans la zone "champ de page" j'ai mis le nom du service.
Ensuite dans "Afficher les pages" j'ai mis toutes puis OK.
Il crée 1 onglet par service.

Mon problème : je veux envoyer le tableau synthétique à chaque responsable de service sans que celui ci puisse consulter les données des autres services. Je veux par contre garder le bénéfice du TCD afin que chaque responsable puisse consulter le détail de chaque ligne.
Le TCD ainsi créé garde la ligne "champ de page" sur laquelle il suffit de cliquer pour avoir les données des autres services.
J'ai réussi à "masquer" les données des autres services en faisant click droit / paramètres de champ / masquer les champs. Mais 1 utilisateur averti saura qu'il lui suffit de refaire la même chose pour annuler ma sélection.
J'ai essayé d'afficher les données des autres services puis de les supprimer mais on ne peut rien supprimer dans 1 TCD.
Pour le moment, j'ai 2 solutions de contournement mais qui sont longues à mettre en oeuvre car j'ai beaucoup de services (env 25) : 1) j'ai extrait de la base de données les seuls renseignements concernant le service concerné et ai refait 1 TCD dans 1 fichier séparé.
2) j'ai fait copier / coller en valeur pour mon TCD initial puis sur 1 autre onglet, j'ai copié la base de données correspondante.

Y a-t-i, à votre connaissance, une solution pour masquer les information des autres services ou pour automatiser les opérations répétitives que j'ai à faire sur chaque fichier ?
A voir également:

5 réponses

Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
26 mai 2008 à 15:41
Bonjour,
ce que tu peux faire, c'est verrouiller la cellule en champ de page qui contient le service, puis protéger la feuille.
Si tu as une version d'excel suffisamment récente, tu peux autoriser l'usage du tableau croisé dynamique malgré la protection de la feuille.
Si nécessaire, ces opérations de verrouillage / protection peuvent être contenues dans une macro simple.
A suivre...
0
Bonjour,

Merci pour ton aide.

J'avais aussi essayé. Mais celà bloque le TCD (J'utilise Excel 2003). Connais-tu 1 moyen pour autoriser l'usage du TCD après protection avec cette version ?

Par ailleurs, je commence à maitriser pas mal Excel, mais j'avoue que je ne connais pas du tout les macros... est-ce si simple que ça ???
0
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
26 mai 2008 à 16:58
Désolé de ne pas pouvoir t'aider, alors. Excel 2007 permet certaines opérations sur une feuille protégée, mais pas la version 2003, apparemment.
Quant aux macros, c'est facile de faire des choses simples.
Le mieux, pour commencer, est de se laisser guider :
Outils/Macros/Enregistrer une nouvelle macro
puis tu exécutes sur Excel toutes les tâches que tu veux faire, puis clique sur Arrêter l'enregistrement.
Toutes tes actions ont été enregistrées en VBA et tu peux les répéter en relançant la macro.
Si nécessaire, tu peux venir modifier manuellement des éléments du code.
Tu pourrais ainsi automatiser les tâches suivantes :
- supprimer de ta base de données complète les lignes qui ne concernent pas le service donné, puis actualiser le tcd, puis enregister sous...
- ou bien un bouton qui permet de Déprotéger la feuille, afficher le détail d'une ligne de tcd (à partir de la cellule sélectionnée), et re-Protéger la feuille.
A suivre...
0
intéressant !

une question de débutante : les macros que je crée sont-elle dans Excel ou liées à une feuille en particulier ?

En effet, ça m'intéresse si je dois faire les manip 1 fois et automatiser la création des autres fichiers ... ça sera toujours ça...
0
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
26 mai 2008 à 22:49
Bonsoir,
Une macro (= une procédure) est "hébergée" dans un classeur Excel. Ce classeur doit être ouvert pour pouvoir utiliser la macro (mais ce classeur peut très bien être masqué).
A partir de là, la procédure peut agir sur n'importe quel classeur ouvert, il suffit de lui préciser lequel.
Dans ton cas, ta (ou tes) procédure(s) pourrait être hébergée dans ton classeur initial (données complètes) ou bien dans un classeur spécifique que tu ouvrirais le temps de faire tes manip', et pourrait créer à la chaîne les 25 classeurs contenant des données partielles.
Est-ce que ça répond à ta question ?

Remarque :
si chacun de tes destinataires est bien identifié par son username, tu pourrais éventuellemet restreindre l'accès à chacun. Par exemple, seuls Monsieur A et Madame B peuvent sélectionner le service X en champ de page. Si un autre le sélectionne, il aurait un message d'erreur. C'est de la bidouille (qui pourrait de toute façon être contournée par un utilisateur qui voudrait absolument la contourner), mais ça peut marcher avec une macro assez simple.
A suivre...
0
Merci Ivan-Hoe pour ces conseils.

Je crois qu'il ne me reste plus qu'une chose à faire ... Me lancer dans les macro commandes ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
30 mai 2008 à 11:51
A bientôt sur CCM, alors !
0