Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Gestion d'un classeur par accès

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Madjon6

XLDnaute Occasionnel
Bonjour,

J'ai un classeur reprenant des 2 onglets par métier, je souhaiterais mettre en place un système d'accès par MDP.

J'ai une vigntaine de métier. Il faudrait que quand un responsable métier mette son mot de passe, qu'il ait accès unquement à ses 2 onglets et non à l'intégralité des onglets. Vba ou autre

Donc seul l'administrateur aurait accès à l'ensemble des onglets.

Pourriez vous m'aider SVP ?

Pour info : Je connais déjà le modèle de Thierry => USF-PassWord-Multi-Levels-V02.Beta.zip : le souci c'est que je n'ai que 4 niveaux et que les autorisations sont pyramidales (Accès niveau 3 = accès 1,2 et 3) moi je souhaite qu'il soit transversale ( un accès = 2 onglets uniques)

Un fichier joint pour l'exemple.

Je vous remercie par avance pour votre aide.
 

Pièces jointes

Dernière édition:
Re : Gestion d'un classeur par accès

Bonjour Madjon6, bonjour à tous,

Ci-joint un premier essai si j'ai bien compris le problème.

Comme la macro se sert du code utilisateur défini dans Excel, il est préférable de l'ouvrir une première fois en désactivant les macros puis vérifie que ton code utilisateur fait bien partie des users créés et mémorise le mot de passe.

Le programme effectue les actions suivantes:

1 - Cache toutes les feuilles (J'ai rajouté une feuille Titre car on doit laisser au moins une feuille ouverte)
2 - Recherche le code utilisateur dans la table définie dans la feuille "Admin".
3 - Si code trouvé demande le mot de passe (ne doit pas commencer par un zéro).
4 - Si le mdp est OK, mémorise le métier sinon quitte l'application
5 - Rend visible les feuilles dont le nom commence par le métier.

J'ai utilisé l'option "XLsheetveryHidden" afin que les feuilles ne puissent être réactivées que par VBA (pas par Format - Feuille - Afficher).

@+

Gael
 

Pièces jointes

Re : Gestion d'un classeur par accès

Bonjour Gaêl,

Merci pour ton aide. En fait quand j'ouvre le classeur il ne me propose pas de saisir un mdp, il me dit directement que mon MDP est invalide ??

En plus je souhaiterais que les utilisateurs ne puissent pas désactiver les macros y a t-il un autre moyen que de mettre une faible sécurité sur les propriétés des Macros ?

Merci encore.

Mad
 
Dernière édition:
Re : Gestion d'un classeur par accès

Re,

Ci-joint une version légèrement modifiée:

A la fermeture, toutes les feuilles sont cachées, donc même si tu ouvres le fichier en désactivant les macros, l'utilisateur ne verra que la feuille "Titre".

Le projet VBA est protégé, donc, pas moyen non plus de modifier les macros ou de voir le code (mot de passe "gael").

Dans un premier temps, tu ouvres le fichier en désactivant les macros et tu vérifie que ton username (celui figurant dans Outils - Options - Général "Nom d'utilisateur") est bien présent dans la feuille "Admin" que j'ai laissé en clair pour cela. Si ce n'est pas le cas, tu le mets dans le métier "production" par exemple et tu notes le mot de passe.

Puis tu relances l'appli avec les macros et tu mets le bon mot de passe.

Pour que la feuille "Admin" ne soit plus visible, tu modifies la macro "Workbooks_beforeclose" en supprimant l'instruction spécifique à cette feuille.

Si tu mets ton username devant le métier "Admin", tu pourras voir toutes les feuilles.

Ces protections par mot de passe ne sont pas d'une efficacité totale, on peut facilement casser le mot de passe de la protection VBA et modifier le code pour voir toutes les feuilles. Mais c'est suffisant pour un utilisateur Lambda.

@+

Gael
 

Pièces jointes

Re : Gestion d'un classeur par accès

Bonjour,

Merci pour votre aide mais je n'arrive pas à adapter sans erreur d'éxécution vos modèles.

Voici la maquette du classeur à programmer afin que je n'ai qu'à mettre le contenu une fois la programmation effectué.

Il faut d'urgence que je me mette au VBA. Merci encore pour votre aide en attendant.

Mad
 

Pièces jointes

Re : Gestion d'un classeur par accès

Bonjour Madjon6,

Ci-joint ton exemple modifié.

Dans la feuille Admin, les codes utilisateurs ont été changés pour qu'à un user ne corresponde qu'un métier. C'est ce que j'avais compris au départ, cependant si tu souhaites avoir un même user pour plusieurs métiers, c'est aussi possible.

J'ai rajouté le métier Admin avec le code Z et le mot de passe 999.

La macro est protégé par le mot de passe "gael".

@+

Gael

Et bonjour Boisgontier. De ton code, j'ai repris l'astuce du Ucase et le nom "Accueil" pour la première feuille, plus sympa que "Titre".

@+

Gael
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…