Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
J'aimerais protéger par un mot de passe une macro.
Quand je lance la macro, j'aimerais une fenêtre qui me demande un mot de passe avant que la macro ne s exécute.
Je n'ai vraiment aucune idée du code VBA pour ça... 😕
Il doit y avoir plusieurs solutions mais l'une d'entre elle consiste à créer une userform dans la quelle tu demandes à l'utilisateur d'entrer un mot de passe. Si le mot de passe est valide tu continues, sinon tu redemandes un mot de passes ou tu quittes.
J'espère que ça peut te donner une piste de réflexion.
Plus simple, mais moins convivial, je peux faire une cellule "mot de passe" que je teste dans la macro
si pas le bon mot de passe alors rien
si bon mot de passe alors "moulinette" 😀
Private Sub CommandButton1_Click()
Dim Mot_de_passe As Variant
Mot_de_passe = "passe"
Mot_de_passe = InputBox("Veuillez entrer le Mot de passe pour accéder à cette fonction ", "mot de passe indispensable")
If Mot_de_passe <> "passe" Then Exit Sub
'ouvrir la macro
call imprimer
End If
End Sub
NB le mot de passe est : "passe"
la macro est là nommée imprimer
Merci bcp !
Après quelques adaptations, j'arrive à ca:
Private Sub CommandButton1_Click()
Dim Pass As String
Pass = InputBox(" Entrez le mot de passe ", "Lancer la macro")
If Pass = "test" Then
Call Macro
End if
Et ca marche 😉
--------------------------------------------
En parlant de mot de passe, j'ai fait ces 2 petites macros simples mais bien utiles:
Sub Protéger()
Dim Pass As String
Pass = InputBox(" Entrez le mot de passe ", "verrouillage de l'ensemble des Feuilles")
'Boîte de dialogue pour rentrer le mot de passe'
Range("A3000").Value = Pass 'sauvegarde du mot de passe en cas d'oublie 😉'
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect Password:=Pass
'protège toutes les feuilles'
Next Feuil
End Sub
Sub Déprotéger()
Dim Pass As String
Pass = InputBox(" Entrez le mot de passe ", " Déverrouillage de l'ensemble des Feuilles")
'Boîte de dialogue pour rentrer le mot de passe'
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Unprotect Password:=Pass
'déprotège toutes les feuilles'
Next Feuil
Range("A3000").Value = 0 'sauvegarde du mot de passe en cas d'oublie 😉'
- 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