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

XL 2016 Cacher certains texbox et bouton par mot de passe

ngexcel

XLDnaute Occasionnel
Bonjour
j ai un userform1 qui comporte des textbox et boutons que je veux cacher pour certain utilisateurs
Je voudrais sur ma feuil1 un bouton avec macro qui par mot de passe les actives et a la sortie du userform les recaches
j ai supprimé dans mon userform le maximun de textbox pour etre plus claire
 

Pièces jointes

  • textbox invisible.xlsm
    137.5 KB · Affichages: 27

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

Un petit exemple
(Un userform + 2 TextBox)
(test OK sur mon PC)
VB:
Private Sub CommandButton1_Click()
MotPasse = CStr(InputBox("Mot de passe?", "Identification", "****"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = Not StrComp("1234", MotPasse, vbTextCompare)
UserForm1.TextBox1.Visible = SeeMe
UserForm1.TextBox2.Visible = SeeMe
UserForm1.Show
End Sub
 

ngexcel

XLDnaute Occasionnel
bonjour staple1600
merci pour ton aide si je colle ton code dans mon bouton CommandButton1_Click() qui est sur la feuil1
j ai un message d erreur peux tu l intégrer dans mon fichier que j ai mis pour exemple afin que je comprenne merci
 

Staple1600

XLDnaute Barbatruc
Re

[aparté en passant]
Tu veux dire le fichier de Denis Dalmont
(qui de mémoire protégeait ses projets VBA par mot de passe)
[/aparté en passant]

Comme dit dans mon premier message, mon bout de code n'est qu'un exemple.
(pour illustration et test)
Donc pour comprendre son fonctionnement, c'est simple
Dans un classeur vierge:
1) Insère un Userform sur lequel tu ajoutes deux TextBox
2) Insère un CommandButton sur une feuille
Passe en mode création
Clic-droit sur le bouton
=>Visualiser le code
Et là coller le code VBA de mon précédent message
Sortir du mode Création.
Et appuyez sur le bouton
a) En saisissant le bon mot de passe
b) puis en saisissant un mot de passe erroné.
 

Staple1600

XLDnaute Barbatruc
Re

[aparté suite et fin]
Le projet VBA n'était pas protégé par un mot de passe ?
Etonnant, non! (comme aurait dit Monsieur Cyclopède)
[/aparté]

Avant de l'intégrer dans son fichier très complexe, testes déjà mon code dans un fichier très simple
(comme expliqué dans mon message précédent)
 

Staple1600

XLDnaute Barbatruc
Re

Je te conseille de créer ton propre fichier
(plutôt que d'utiliser un fichier complexe dont tu n'es pas l'auteur)
Cela évite les fautes d'inattention
Car voici ou tu as mis mon bout de code
Enrichi (BBcode):
Private Sub CommandButton2_Click()
Si tu le mets en remplacement du code présent de le CommandButton1
Cela devrait mieux fonctionner.
NB: Ne pas oublier de faire les modifications idoines au préalable.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

C'est simple.
Sur ton fichier du message#7
1) Cliques-droit sur la feuille 1 -> Visualiser le code
2) Tu supprimes le code présent dans CommandButton1
Et à la place tu mets celui que tu as mis dans CommandButton2
Au final, il ne doit rester dans le code de la feuille que
VB:
Private Sub CommandButton1_Click()
MotPasse = CStr(InputBox("Mot de passe?", "Identification", "****"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = Not StrComp("1234", MotPasse, vbTextCompare)
UserForm1.TextBox1.Visible = SeeMe
UserForm1.TextBox2.Visible = SeeMe
UserForm1.TextBox106.Visible = SeeMe
UserForm1.Show
End Sub

PS: Je ne joins plus de fichier Excel sur le forum depuis le 22 mai 1968, 15 heures de l'aprés-midi.
 

ngexcel

XLDnaute Occasionnel
re bonjour
j arrive à intégrer le code quand tu clic sur le bouton feuil1 tu as le choix sois tu tapes 2021 là tu ouvres userform sans textbox1 textbox2 et textbox106 ca fonctionne c'est ok je vois ma base de donnée
sur l autre bouton ouvre le userform en affichant les textbox 1 textbox2 et textbox106 par contre je vois pas ma base de donnée dans le userform help
 

Pièces jointes

  • test2.xlsm
    249.2 KB · Affichages: 4

Staple1600

XLDnaute Barbatruc
Re

Tu avais compris que dans mon exemple le mot de passe était: 1234
?

Et comme suggéré précédemment: pars d'un fichier Excel tout simple pour faire des tests
(Comme je l'ai fait )

Il sera bien temps ensuite d'adapter sur "ton" fichier complexe.
 

Staple1600

XLDnaute Barbatruc
Re

Tu ne suis pas mes conseils donc cela peut durer longtemps...
(Voici le code qu'on trouve dans la feuille 1 de test2.xlsm)
VB:
Sub CommandButton1_Click()
usfa = Me.Name
If Len(ActiveSheet.Cells(1, 1)) > 0 Then depart Else Exit Sub
UserForms(use(ActiveSheet.Cells(1, 1))).Show
'ChDrive "s"
'ChDir "S:\DI\Chaudronnerie\(1) Ilot A\VAQ\Photos VAQ"
End Sub
Tout le contraire de ce que j'expliquais dans le message#10
 

ngexcel

XLDnaute Occasionnel
regarde j ai remis ton code dans dans feuil1 ca marche pas ca n' ouvre pas mon userform avec mes données
et les textbox reste visible c'est dommage que tu ne joint pas mon fichier
 

Pièces jointes

  • test2 (1).xlsm
    235.8 KB · Affichages: 1
  • photo 1.jpg
    127.7 KB · Affichages: 16
  • photo2.jpg
    179.3 KB · Affichages: 15
  • photo3.jpg
    193 KB · Affichages: 15

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…