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

Gestion classeur par mdp

  • Initiateur de la discussion Initiateur de la discussion Madjon6
  • Date de début Date de début

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 personne et par métier, avec accès par MDP. Actuellement seul l'administrateur a accès à l'ensemble des onglets.

Voci les 2 niveaux d'autorisation :

Simple => 2 onglets seulement
Admin = tous les onglets métiers + onglet administration

Ce que je souhaite :

Il me faudrait un 3 ème profil "avancé" qui me permettrait de donner l'accès à une personne à plusieurs onglets mais sans qu'il soit administrateur et donc avoir accès à l'onglet administration.

L'idée serait de ma changer le code VBA pour ajouter ce profil avancé;

Pour ouvrir le fichier => ID = Z et mpd = 999
Et le code est protégé par le MDP = gael

Un fichier joint pour l'exemple.

Merci pour votre aide.
 

Pièces jointes

Re : Gestion classeur par mdp

Bonjour

essaies en remplaçant ton code

Code:
For Each ws In Worksheets
    If UCase(ws.Name) Like UCase(métier) & "*" Or métier = "Admin" Then
        ws.Visible = True
    End If
Next ws

par

Code:
If métier = "Admin" Then
For Each ws In Worksheets
    ws.Visible = True
Next
ElseIf métier = "Avancé" Then
For Each ws In Worksheets
    If ws.Name <> "Admin" Then ws.Visible = True
Next
Else
Sheets(LCase(métier)).Visible = True
End If
 
Re : Gestion classeur par mdp

Bonjour,

Merci Pascal ca marche.

J'ai un cas ou le collaborateur à droit à 5 onglets comment puis je codifier ca ?

L'idée serait de permettre à un profil d'accéder à plusieurs métiers en même temps.

Merci encore.
 
Re : Gestion classeur par mdp

RE

tu prends ce cas là

Code:
For Each ws In Worksheets
    If ws.Name <> "Admin" Then ws.Visible = True
Next
et tu le modifies ainsi

Code:
For Each ws In Worksheets
    If ws.Name <> "Admin" or ws.Name <> "toto" Then ws.Visible = True
Next
 
Re : Gestion classeur par mdp


Bonjour Pascal,

Je reviens vers toi car en modifiant le code pour créer un 3 eme profil "Avancé" ben cela me pose un autre problème : Je n'ai plus la possibilité de modifier les identifiant ou mot des utilisateurs !! comment cela se fait il ?

Merci pour ton aide.
 
Re : Gestion classeur par mdp

Oui dsl,

En fait tu m 'as aidé à changé le code VBA d'un fichier pour créer un 3eme profil. Avant ce changement je pouvais mofidier les id et mdp autant de fois que je le voulais, mais depuis le changement du code, quand je souhaite modifier un id ou un mdp ben une erreur d'index survient "erreur de référencement 9"

Si tu ne vois toujours pas, si tu as 2 min reprends le fil un peu plus haut et tu verras.

Merci encore Pascal
 
Re : Gestion classeur par mdp

Voici le fichier en question pour tester il faut modifier les mdp et id du métier "retraite".

Ouvrir le fichier avec id et mdp : M => 123456


Protection vba => gael

Merci Pascal
 

Pièces jointes

Dernière édition:
Re : Gestion classeur par mdp

re

c'est cette ligne là qui pose problème

Sheets(LCase(métier)).Visible = True

là tu veux rendre visible une feuille qui porte le nom du metier

mais tu n'as pas de feuille retraite donc bug
 
Re : Gestion classeur par mdp

Le code du vba est donné dans le post je le redonne => gael


Oui j'ai bien remplacé le code par celui que tu as posté mais le souci c'est qu'après le remplacement, la modification des données (id ou mdp) dans l'onglet admin n'est plus possible car une erreur se produit...
 
- 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…