Protéger un bouton de commande par MP

Bonjour à tous,

Dans l’UserForm « PERMIS ET FORMATIONS » je voudrai protéger le bouton « ENREGISTRER » pr un mot de passe. Je pensais passer par un nouveau UserForm afin de pouvoir paramétrer son aspect.

Pourriez-vous m’aider ? Petite précision je suis débutant, alors si vous pouviez également, me détailler le cheminement, ce serai super

Amicalement,

Djodjo

Bonsoir Djodjo, bonsoir le forum,

Impossible d'afficher l'UserForm en entier avec la procédure AfterUpdate que tu utilises ! J'ai dû la remplacer par la procédure Change. Mais l'à n'est pas le propos...

Je te propose un exemple de code suivant pour "protégér" ton bouton Enregister.

Private Sub CommandButton1_Click()
Dim MDP As Variant 'déclare la variable MDP

MDP = Application.InputBox("Tapez le mot de passe.", Type:=2)'définit la variable MDP
If MDP = False Or MDP = "" Then Unload Me 'si bouton [Annuler] ou boîte d'entrée  non renseignée, ferme l'UserForm
If MDP = "TON_MOT_DE_PASSE" Then (mot de passe à adapter bien sûr) 'si MDP correspond au mot de passe
    For i = 1 To 26 '26 egal le nombre de case à cocher
        Cells(l, i + 4) = IIf(Controls("CheckBox" & i) = 0, "", "ü")
    Next
    Cells(l, 4) = TextBox1
Else'sinon
    Unload Me 'ferme l'UserForm
End If
End Sub

Ça marche super ! Mais... le premier pèlerin venu qui va ouvrir VBE (l'éditeur Visual Basic), pourra lire ton mot de passe... Tu peux certes protéger aussi ton code (VBProject) par un mot de passe mais ce n'est qu'une protection illusoire facilement crackable par un utilisateur averti.

En résumé, si les utilisateurs de ton fichier sont des utilisateurs disons de base, la protection de ton bouton plus la protection de ton code est largement suffisante. Mais tu n'auras jamais un protection super efficace et sûre à 100%... Mais, après tout, même les plus grands ne l'ont pas...

On doit maintenant pouvoir ajouter une fonction de cryptage (exemple = Vigenère), de quoi éviter sa lecture ou du moins ralentir sa découverte.

Mais au fait, s les macros ne sont pas activées, que se passe-t-il ?

Bonjour Thautème, bonjour à tous,

J'ai un petit soucis, lorsque je remplace par ton code je reçois le message d'erreur:

Erreur de compilation:

Erreur de syntaxe.

et la ligne est surligné ou écrite en rouge:

If MDP = "TON_MOT_DE_PASSE" Then (mot de passe à adapter bien sûr) 'si MDP correspond au mot de passe

???

Amicalement,

Djodjo


Bonjour Thauthéme, bonjour à tous,

ThauThème a écrit :

Impossible d'afficher l'UserForm en entier avec la procédure AfterUpdate que tu utilises ! J'ai dû la remplacer par la procédure Change. Mais l'à n'est pas le propos...

.

Pour afficher l'UserForm en entier il faut sélectionner un nom, le valider et là il s'affiche entièrement.

Amicalement,

Djodjo

Bonjour Djodjo, bonjour e forum,

djodjo a écrit :

MDP = "TON_MOT_DE_PASSE" Then (mot de passe à adapter bien sûr) 'si MDP correspond au mot de passe

Désolé pour le retard... C'est juste que j'ai mis l'apostrophe du commentaire trop tard. Essaie :

MDP = "TON_MOT_DE_PASSE" Then '(mot de passe à adapter bien sûr) si MDP correspond au mot de pass

Sinon, pour la remarque que je t'avais faite, j'avais, bien évidemment, sélectionnee avant...

! Bonjour ThauTheme,

Impeccable, cela fonctionne.

Merci beaucoup,

Amicaalement,

Jean Marie

Rechercher des sujets similaires à "proteger bouton commande"