EXCEL - Protection du Password d'une Macro

Fermé
Messages postés
1
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
14 janvier 2009
-
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
-
Bonjour a tous,

je viens de passer un bon moment à googliser pour trouver une réponse, mais sans succès, alors votre humble newbie se retourne vers vous.

Voici mon problème:

J'ai crée un fichier Excel que je dois envoyer à un client dans le cadre de mon travail.

Dans ce fichier excel, j'ai encodé une macro qui ne sera utilisable que par certains utilisateurs.

Du coup au début de ma macro j'ai rentré une imput box pour la protéger avec un mot de passe.
Voici le code:

'Verouillage de l'exportation des données par un mot de passe

'Annonce de la variable
Dim Password As String
'Codage du mot de passe
Password = Application.InputBox(prompt:="Si vous êtes l'administrateur en charge de" & Chr(10) & "la consolidation des données filiales" & Chr(10) & "" & Chr(10) & "Entrez le mot de passe" & Chr(10) & "Sinon cliquez sur Annuler", Title:="Verrouillage de l'exportation des données", Default:="", Type:=2)
If Not (Password = "mon mot de passe") Then
MsgBox ("Mot de passe érroné")
Exit Sub
End If

Donc ces quelques lignes fonctionnent très bien. Mais j'ai cependant deux questions:

Est il possible de faire en sorte d'afficher des étoiles quand l'utilisateur rentre le mot de passe dans l'imput box?
Si oui, pourriez vous m'expliquer comment faire?

Quelle est la meilleur façon de planquer le mot de passe?
En effet, n'importe quelle personne qui sait lire un code peut aller chercher le mot de passe en ouvrant le code VBA de ma macro, que me conseillez vous?

Merci par avance pour votre aide.

Guillaume

1 réponse

Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
270
le principe est bon,

moi je fais ça avec un userform ...
et j'utilise
un textbox ci-dessous Tmotdepasse

Private Sub Tmotdepasse_Change()
Tmotdepasse.PasswordChar = "*"
End Sub

tu conserves textbox.text et value que tu peux utiliser