Mot de passe execute macro
Résolu
Bonisam
Messages postés
144
Date d'inscription
Statut
Membre
Dernière intervention
-
Bonisam Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
Bonisam Messages postés 144 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais savoir s'il est possible de mettre un mot de passe sur un bouton
executant une macro, de façon à n'autoriser que les détenteurs du mot de
passe à pouvoir lancer cette macro.
je pense à un comportement du style :
- Clic sur le bouton
- Fenètre d'authentification
Mot de passe correct
Execution de la macro
Mot de passe incorrect
Message d'avertissement
Fin de macro
Merci pour tout
Mes respects
Bonisam
Je voudrais savoir s'il est possible de mettre un mot de passe sur un bouton
executant une macro, de façon à n'autoriser que les détenteurs du mot de
passe à pouvoir lancer cette macro.
je pense à un comportement du style :
- Clic sur le bouton
- Fenètre d'authentification
Mot de passe correct
Execution de la macro
Mot de passe incorrect
Message d'avertissement
Fin de macro
Merci pour tout
Mes respects
Bonisam
A voir également:
- Mot de passe execute macro
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
7 réponses
Bonjour,
Avec la fonction inputbox, ce n'est pas possible. Il faut passer par un formulaire mais c'est plus compliqué.
Il faut créer une boîte de dialogue personnalisée (dans Visual Basic, à gauche, clic droit, insertion, UserForm)
Le formulaire doit avoir une zone de texte (avec PasswordChar égal à * dans Propriétés) et un bouton "OK" qui a ce code :
If TextBox1.Text <> "hiver" Then
MsgBox "Mot de passe incorrect"
Else
Call [Module1].macro1
End If
Unload Me
Le bouton OK de la boîte appelle la macro (ici "macro1" dans "module 1") si le code est correct.
Dans la feuille, un bouton fait apparaît la boîte de dialogue avec le code UserForm1.Show
Un exemple de boîte de dialogue est donné ici
https://www.excel-downloads.com/threads/masquer-la-saisie-dans-un-inpubox.26788/
Il suffit d'importer UserForm1 dans votre classeur, et changer le code du bouton OK
Avec la fonction inputbox, ce n'est pas possible. Il faut passer par un formulaire mais c'est plus compliqué.
Il faut créer une boîte de dialogue personnalisée (dans Visual Basic, à gauche, clic droit, insertion, UserForm)
Le formulaire doit avoir une zone de texte (avec PasswordChar égal à * dans Propriétés) et un bouton "OK" qui a ce code :
If TextBox1.Text <> "hiver" Then
MsgBox "Mot de passe incorrect"
Else
Call [Module1].macro1
End If
Unload Me
Le bouton OK de la boîte appelle la macro (ici "macro1" dans "module 1") si le code est correct.
Dans la feuille, un bouton fait apparaît la boîte de dialogue avec le code UserForm1.Show
Un exemple de boîte de dialogue est donné ici
https://www.excel-downloads.com/threads/masquer-la-saisie-dans-un-inpubox.26788/
Il suffit d'importer UserForm1 dans votre classeur, et changer le code du bouton OK
Bonjour,
Je pense avoir la solution (en vba, s'il s'agit bien de vba).
Exemple avec le mot de passe Hiver
Si le mot de passe est erroné, la fonction s'arrête. Sinon, le traitement s'effectue (exemple : cellule A1 = 3)
Private Sub CommandButton1_Click()
Dim strPw As String
strPw = "Hiver"
If InputBox("Saisissez le mot de passe", "Accès à la macro") <> strPw Then
MsgBox ("Mot de passe erroné")
Exit Sub
Else
MsgBox ("Mot de passe correct")
End If
Range("A1") = 3
End Sub
Je pense avoir la solution (en vba, s'il s'agit bien de vba).
Exemple avec le mot de passe Hiver
Si le mot de passe est erroné, la fonction s'arrête. Sinon, le traitement s'effectue (exemple : cellule A1 = 3)
Private Sub CommandButton1_Click()
Dim strPw As String
strPw = "Hiver"
If InputBox("Saisissez le mot de passe", "Accès à la macro") <> strPw Then
MsgBox ("Mot de passe erroné")
Exit Sub
Else
MsgBox ("Mot de passe correct")
End If
Range("A1") = 3
End Sub
Bonjour,
Merci pour la contribution mais j'amairais posé une question de savoir où placé ce code. Par exemple dans la mon cas je voudrais que le mot de passe soit demandé à l'execution d'une macro dont la procedure est la suivante :
Sub Macro1()
'
' Macro1 Macro
'
'
Windows("MES PRODUITS.xlsm").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Merci pour votre aide
Mes respects
Bonisam
Merci pour la contribution mais j'amairais posé une question de savoir où placé ce code. Par exemple dans la mon cas je voudrais que le mot de passe soit demandé à l'execution d'une macro dont la procedure est la suivante :
Sub Macro1()
'
' Macro1 Macro
'
'
Windows("MES PRODUITS.xlsm").Activate
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Merci pour votre aide
Mes respects
Bonisam
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour Grop,
Juste vous dire grand merci pour votre aide. ça marche 5/5.
Merci pour tout
Mes respects
Bonisam
Juste vous dire grand merci pour votre aide. ça marche 5/5.
Merci pour tout
Mes respects
Bonisam
Bonjour Grop,
Permettez moi de rebondir un peu sur votre procedure mot de passe execute macro.
J'aimerais savoir s'il était possible de ne pas affiché le mot de passe en clair.
Par exemple mot de passe "hiver". A l'execution de la macro ça demande le mot de passe mais en le saisissant ça s'ecrit clairement "hiver". est ce qu'il est possible quand tapant "hiver" ça s'affiche "****" de tel sorte que même quelqu'un à coté ne puisse pas connaitre les lettres du mot de passe.
Merci pour tout
Mes respects
Bonisam
Permettez moi de rebondir un peu sur votre procedure mot de passe execute macro.
J'aimerais savoir s'il était possible de ne pas affiché le mot de passe en clair.
Par exemple mot de passe "hiver". A l'execution de la macro ça demande le mot de passe mais en le saisissant ça s'ecrit clairement "hiver". est ce qu'il est possible quand tapant "hiver" ça s'affiche "****" de tel sorte que même quelqu'un à coté ne puisse pas connaitre les lettres du mot de passe.
Merci pour tout
Mes respects
Bonisam