Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer un userform pour un mot de passe

Theymis

XLDnaute Nouveau
Bonjour à tous,

je tente de créer un userform sur Excel avec trois boutons "une case pour indiquer le mot de passe" une deuxième "valider" et une autre "annuler".

Je vais dans l'onglet "Développeur" puis sur Visual Basic de là je créer un userform qui se nomme UserForm1. Avec la "boite à outils", j'insére dans le userform, un cadre, une zone de texte et deux boutons de commande (valider + annuler).

J'ai donc :
- Frame1 pour le cadre
- TextBox1 pour la zone de texte
- CommandButton1 pour "valider"
- CommandButton2 pour "annuler"

Dans les deux boutons de commande j'ai changer la case "Caption" pour renommer mes deux boutons comme je le voulais.

Ensuite, je clique deux fois sur Feuil1, s'ouvre alors un Classeur1-Feuil1 (Code) où j'ai inscris ça :

Sub Macro1()
UserForm1.Show
End Sub

Private Sub CommandButton1_Click()
TextBox1 = ""
UserForm1.Hide
End Sub

Private Sub CommandButton2_Click()
If TextBox1.Text = "mot-de-passe" Then
'excel
Else: MsgBox ("Le mot de passe est invalide." )
End If
TextBox1 = ""
UserForm1.Hide
End Sub

En fait, j'aimerai qu'en ouvrant mon fichier Excel ce userform s'affiche et que si je rentre le mot de passe correct, ici "excel" e je puisse accéder à la première feuille où je créerai plusieurs onglets et donc que le userform s'efface. Si le mot de passe est invalide qu'un "Le mot de passe est invalide" s'affiche.

Pour le moment j'arrive à afficher le userform mais il ne s'affiche pas directement en ouvrant le fichier. Les boutons ne marchent pas, j'ai tenter de rentrer le mot de passe ou un autre sans succès. Merci pour votre aide
 

Theymis

XLDnaute Nouveau
Re : Créer un userform pour un mot de passe

Re-bonjour,

alors ma macro marche bien mais quelques problèmes subsistent.
Tout d'abord même si je rentre un mot de passe invalide, j'ai accés à ma feuille Excel.
Deuxième point, à chaque fois que j'ouvre mon fichier on me demande si je souhaite activer ou désactiver mes macros or j'aimerai que ce userform ne puisse être désactiver en ouvrant le fichier...

Merci
 

Theymis

XLDnaute Nouveau
Re : Créer un userform pour un mot de passe

En fait j'ai tenté d'appliquer ce que tu avais fait dans le fichier que tu m'avais communiqué. J'ai donc tenté de triller les formules pour pouvoir les appliquer afin d'obtenir ce à quoi je pensais. Tout en supprimant et remplaçant certaines choses mais j'ai laissé la base.

Je viens de tester le code que tu viens de me donner.
Résultat, si le code est incorrect, le message s'affiche bien. Quand je clique ensuite sur ok, le userform disparait mais mon fichier excel se ferme or il faudrait plutot que le userform reste pour pouvoir re-tenter le mot de passe. Je ne sais pas si je suis trés compréhensible...
 

Theymis

XLDnaute Nouveau
Re : Créer un userform pour un mot de passe

Ca marche merci beaucoup

Dernière petite chose on dirait que le mot de passe est en quelque sorte pré-enregistré c'est à dire qu'à chaque ouverture de mon fichier la case mot de passe est déja remplie avec ce que j'ai pu rentrer avant. Quelque chose à faire pour ça ? Car dans d'autres posts que j'ai parcouru c'est parfois la même chose.
 

Theymis

XLDnaute Nouveau
Re : Créer un userform pour un mot de passe

Ah d'accord mais le code en lui-même me sert-il dans le cas présent à quelque chose ou puis-je le supprimer ?

Private Sub UserForm_Initialize()
TxtMotDePasse.Value = ""
TxtMotDePasse.SetFocus
End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…