Code VBA mots de passe ouverture fichier
manueHN
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
manueHN -
manueHN -
Bonjour,
Je souhaiterais qu'il soit demandé un mot de passe à l'ouverture d'un fichier Excel en particulier.
Sur ce fichier, il y a plusieurs utilisateurs, donc plusieurs mot de passe.
Chaque mot de passe doit renvoyer une feuille donnée, qui est différente en fonction de mot de passe.
Pour le moment, j'ai réussi à écrire un code qui fonctionne plus ou moins.
Un mot de passe est bien demandé à l'ouverture du fichier, s'il est bon, l'utilisateur accède à la feuille souhaitée. Par contre, s'il se trompe de mot de passe, il a quand même accès au fichier tel que l'ancien utilisateur l'a laissé. Comment pourrais-je faire pour bloquer l'utilisateur si le mot de passe correspond à aucun mot de passe possible ?
Sinon, autre problème, pour que le mot de passe soit demandé à l'ouverture du fichier, j'ai utilisé la fonction Auto_Open(), après avoir lu différents forums.
Mais cela a engendré un gros problème sur le réseau de mon entreprise. Au début, ce fichier dès qu'il avait été ouvert une première fois dans la journée, se rouvrait tout seul. Maintenant, sur mon pc seulement, c'est tous les fichiers qui disposent d'une macro qui se ré-ouvrent tout seul !!! Je ne sais plus quoi faire ?
J'ai bien lu sur internet que je devrais utiliser la fonction Worksheet_Open(), mais je n'arrive pas à la faire fonctionner.
Merci pour votre aide.
Je souhaiterais qu'il soit demandé un mot de passe à l'ouverture d'un fichier Excel en particulier.
Sur ce fichier, il y a plusieurs utilisateurs, donc plusieurs mot de passe.
Chaque mot de passe doit renvoyer une feuille donnée, qui est différente en fonction de mot de passe.
Pour le moment, j'ai réussi à écrire un code qui fonctionne plus ou moins.
Un mot de passe est bien demandé à l'ouverture du fichier, s'il est bon, l'utilisateur accède à la feuille souhaitée. Par contre, s'il se trompe de mot de passe, il a quand même accès au fichier tel que l'ancien utilisateur l'a laissé. Comment pourrais-je faire pour bloquer l'utilisateur si le mot de passe correspond à aucun mot de passe possible ?
Sinon, autre problème, pour que le mot de passe soit demandé à l'ouverture du fichier, j'ai utilisé la fonction Auto_Open(), après avoir lu différents forums.
Mais cela a engendré un gros problème sur le réseau de mon entreprise. Au début, ce fichier dès qu'il avait été ouvert une première fois dans la journée, se rouvrait tout seul. Maintenant, sur mon pc seulement, c'est tous les fichiers qui disposent d'une macro qui se ré-ouvrent tout seul !!! Je ne sais plus quoi faire ?
J'ai bien lu sur internet que je devrais utiliser la fonction Worksheet_Open(), mais je n'arrive pas à la faire fonctionner.
Merci pour votre aide.
A voir également:
- Code VBA mots de passe ouverture fichier
- Fichier bin - Guide
- Code ascii - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Fichier epub - Guide
5 réponses
Bonjour, pour le auto_open, je ne sais pas par contre, pour ton mot de passe pourrais-tu nous montrer le code ????
Bonour,
Oui je suis désolée, hier j'ai oublié de vous mettre un extrait. J'ai saisi ce code dans un module 1 dans VBA :
Private Sub Auto_Open()
Password = InputBox("mot de passe", vbCritical)
'Rend la feuille visible si mot de passe OK
If Password = "JLRLWEL" Then
Sheets("Référentiel_ressources").Visible = True
Sheets("Référentiel_projets").Visible = True
Sheets("ADH").Visible = True
Sheets("API").Visible = True
Sheets("CAN").Visible = True
Sheets("DDE").Visible = True
Sheets("DGI").Visible = True
Sheets("DPE").Visible = True
Sheets("EIG").Visible = True
Sheets("ELE").Visible = True
Sheets("ETH").Visible = True
Sheets("FCL").Visible = True
Sheets("FLE").Visible = True
Sheets("FMA").Visible = True
Sheets("FNO").Visible = True
Sheets("GBO").Visible = True
Sheets("HHE").Visible = True
Sheets("JBO").Visible = True
Sheets("JDE").Visible = True
Sheets("JLR").Visible = True
Sheets("JMH").Visible = True
Sheets("JNO").Visible = True
Sheets("LDA").Visible = True
Sheets("LFR").Visible = True
Sheets("LNE").Visible = True
Sheets("PCR").Visible = True
Sheets("PME").Visible = True
Sheets("PMI").Visible = True
Sheets("PPO").Visible = True
Sheets("PSA").Visible = True
Sheets("SCO").Visible = True
Sheets("SDE").Visible = True
Sheets("SMA").Visible = True
Sheets("SME").Visible = True
Sheets("YMO").Visible = True
Sheets("Bdd_hres_globale").Visible = True
Sheets("Synthèse_hres").Visible = True
ElseIf Password = "ad2ht5" Then
Sheets("ADH").Visible = True
'Bloque l'accès aux autres feuilles
Sheets("Référentiel_ressources").Visible = xlVeryHidden
Sheets("Référentiel_projets").Visible = xlVeryHidden
Sheets("API").Visible = xlVeryHidden
Sheets("CAN").Visible = xlVeryHidden
Sheets("DDE").Visible = xlVeryHidden
Sheets("DGI").Visible = xlVeryHidden
Sheets("DPE").Visible = xlVeryHidden
Sheets("EIG").Visible = xlVeryHidden
Sheets("ELE").Visible = xlVeryHidden
Sheets("ETH").Visible = xlVeryHidden
Sheets("FCL").Visible = xlVeryHidden
Sheets("FLE").Visible = xlVeryHidden
Sheets("FMA").Visible = xlVeryHidden
Sheets("FNO").Visible = xlVeryHidden
Sheets("GBO").Visible = xlVeryHidden
Sheets("HHE").Visible = xlVeryHidden
Sheets("JBO").Visible = xlVeryHidden
Sheets("JDE").Visible = xlVeryHidden
Sheets("JLR").Visible = xlVeryHidden
Sheets("JMH").Visible = xlVeryHidden
Sheets("JNO").Visible = xlVeryHidden
Sheets("LDA").Visible = xlVeryHidden
Sheets("LFR").Visible = xlVeryHidden
Sheets("LNE").Visible = xlVeryHidden
Sheets("PCR").Visible = xlVeryHidden
Sheets("PME").Visible = xlVeryHidden
Sheets("PMI").Visible = xlVeryHidden
Sheets("PPO").Visible = xlVeryHidden
Sheets("PSA").Visible = xlVeryHidden
Sheets("SCO").Visible = xlVeryHidden
Sheets("SDE").Visible = xlVeryHidden
Sheets("SMA").Visible = xlVeryHidden
Sheets("SME").Visible = xlVeryHidden
Sheets("YMO").Visible = xlVeryHidden
Sheets("Bdd_hres_globale").Visible = xlVeryHidden
Sheets("Synthèse_hres").Visible = xlVeryHidden
'Etc... en fonction des différents mot de passe (32)
End If
End Sub
Merci pour votre aide
Oui je suis désolée, hier j'ai oublié de vous mettre un extrait. J'ai saisi ce code dans un module 1 dans VBA :
Private Sub Auto_Open()
Password = InputBox("mot de passe", vbCritical)
'Rend la feuille visible si mot de passe OK
If Password = "JLRLWEL" Then
Sheets("Référentiel_ressources").Visible = True
Sheets("Référentiel_projets").Visible = True
Sheets("ADH").Visible = True
Sheets("API").Visible = True
Sheets("CAN").Visible = True
Sheets("DDE").Visible = True
Sheets("DGI").Visible = True
Sheets("DPE").Visible = True
Sheets("EIG").Visible = True
Sheets("ELE").Visible = True
Sheets("ETH").Visible = True
Sheets("FCL").Visible = True
Sheets("FLE").Visible = True
Sheets("FMA").Visible = True
Sheets("FNO").Visible = True
Sheets("GBO").Visible = True
Sheets("HHE").Visible = True
Sheets("JBO").Visible = True
Sheets("JDE").Visible = True
Sheets("JLR").Visible = True
Sheets("JMH").Visible = True
Sheets("JNO").Visible = True
Sheets("LDA").Visible = True
Sheets("LFR").Visible = True
Sheets("LNE").Visible = True
Sheets("PCR").Visible = True
Sheets("PME").Visible = True
Sheets("PMI").Visible = True
Sheets("PPO").Visible = True
Sheets("PSA").Visible = True
Sheets("SCO").Visible = True
Sheets("SDE").Visible = True
Sheets("SMA").Visible = True
Sheets("SME").Visible = True
Sheets("YMO").Visible = True
Sheets("Bdd_hres_globale").Visible = True
Sheets("Synthèse_hres").Visible = True
ElseIf Password = "ad2ht5" Then
Sheets("ADH").Visible = True
'Bloque l'accès aux autres feuilles
Sheets("Référentiel_ressources").Visible = xlVeryHidden
Sheets("Référentiel_projets").Visible = xlVeryHidden
Sheets("API").Visible = xlVeryHidden
Sheets("CAN").Visible = xlVeryHidden
Sheets("DDE").Visible = xlVeryHidden
Sheets("DGI").Visible = xlVeryHidden
Sheets("DPE").Visible = xlVeryHidden
Sheets("EIG").Visible = xlVeryHidden
Sheets("ELE").Visible = xlVeryHidden
Sheets("ETH").Visible = xlVeryHidden
Sheets("FCL").Visible = xlVeryHidden
Sheets("FLE").Visible = xlVeryHidden
Sheets("FMA").Visible = xlVeryHidden
Sheets("FNO").Visible = xlVeryHidden
Sheets("GBO").Visible = xlVeryHidden
Sheets("HHE").Visible = xlVeryHidden
Sheets("JBO").Visible = xlVeryHidden
Sheets("JDE").Visible = xlVeryHidden
Sheets("JLR").Visible = xlVeryHidden
Sheets("JMH").Visible = xlVeryHidden
Sheets("JNO").Visible = xlVeryHidden
Sheets("LDA").Visible = xlVeryHidden
Sheets("LFR").Visible = xlVeryHidden
Sheets("LNE").Visible = xlVeryHidden
Sheets("PCR").Visible = xlVeryHidden
Sheets("PME").Visible = xlVeryHidden
Sheets("PMI").Visible = xlVeryHidden
Sheets("PPO").Visible = xlVeryHidden
Sheets("PSA").Visible = xlVeryHidden
Sheets("SCO").Visible = xlVeryHidden
Sheets("SDE").Visible = xlVeryHidden
Sheets("SMA").Visible = xlVeryHidden
Sheets("SME").Visible = xlVeryHidden
Sheets("YMO").Visible = xlVeryHidden
Sheets("Bdd_hres_globale").Visible = xlVeryHidden
Sheets("Synthèse_hres").Visible = xlVeryHidden
'Etc... en fonction des différents mot de passe (32)
End If
End Sub
Merci pour votre aide
Moi je te proposerai de faire comme ca :
If Password = "JLRLWEL" Then
sheets( .....
goto a:
end if
If Password = "ad2ht5" Then
sheets( .....
goto a:
end if
Et à la fin du code tu met :
'Quitte Excel
Application.Quit
'Libère la mémoire
Set ApplicationExcel = Nothing
a:
end sub
If Password = "JLRLWEL" Then
sheets( .....
goto a:
end if
If Password = "ad2ht5" Then
sheets( .....
goto a:
end if
Et à la fin du code tu met :
'Quitte Excel
Application.Quit
'Libère la mémoire
Set ApplicationExcel = Nothing
a:
end sub
Bonjour,
Désolée de ne répondre que maintenant mais j'ai du m'absenter hors de France pendant 10 jours !
Je viens d'essayer et ton code fonctionne à merveilles ! je te remercie. Au moins un problème de résolu.
Maintenant, il me reste le principal et le plus gênant : le fait que mon fichier ou qu'un autre fichier avec des macros, ouvert précédemment, se ré-ouvre tout seul.
Je pense que ça vient de la fonction Auto_open() que j'ai mis dans mon code VBA du module 1. Mais je n'arrive pas à faire autrement.
En fait, je souhaite qu'un mot de passe soit demandé à l'ouverture de ce fichier et seulement pour ce fichier.
Quelqu'un peut-il m'aider SVP ?
Merci d'avance,
Emmanuelle
Désolée de ne répondre que maintenant mais j'ai du m'absenter hors de France pendant 10 jours !
Je viens d'essayer et ton code fonctionne à merveilles ! je te remercie. Au moins un problème de résolu.
Maintenant, il me reste le principal et le plus gênant : le fait que mon fichier ou qu'un autre fichier avec des macros, ouvert précédemment, se ré-ouvre tout seul.
Je pense que ça vient de la fonction Auto_open() que j'ai mis dans mon code VBA du module 1. Mais je n'arrive pas à faire autrement.
En fait, je souhaite qu'un mot de passe soit demandé à l'ouverture de ce fichier et seulement pour ce fichier.
Quelqu'un peut-il m'aider SVP ?
Merci d'avance,
Emmanuelle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question