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
Re

Je t'ai suggéré de créer un fichier exemple très simple.
(Car c'est plus simple à mon sens)
Tu ne préfères ne pas suivre ce conseil.
Libre à toi.

Au cas ou tu changerais d'avis
Un fichier avec deux Userform (1 et 2) devraient suffire pour avoir de quoi tester.
 

ngexcel

XLDnaute Occasionnel
Merci comme même j ai testé ton code dans une feuille vierge cela fonctionne mais c'est dans mon code que je n arrive pas
Je ne comprend pas pourquoi tu ne peux pas me l adapter et me l'envoyer
tu n'envoi pas de fichier c'est étonnant !
merci comme même
 

Staple1600

XLDnaute Barbatruc
Re

Rien d'étonnant
(C'est simplement que tu as rarement échangé avec moi sur le forum ou peu lu nombre de mes messages)
Ma philosophie c'est d'inciter le demandeur à mettre les mains dans le cambouis.
C'est plus formateur à mon sens

Donc pour rester fidéle à moi-même ;)
Un second exemple
Un classeur avec deux Userform
(sur chaque UserForm deux TextBox)
Sur la feuille 1, un CommandButton
• Code du CommandButton
VB:
Dim usf As Object
Private Sub CommandButton1_Click()
MotPasse = CStr(InputBox("Mot de passe?", "Identification", "****"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = Not StrComp("1234", MotPasse, vbTextCompare)
Set usf = uForm(ActiveSheet.Cells(1))
usf.Controls("TextBox1").Visible = SeeMe
usf.Controls("TextBox2").Visible = SeeMe
usf.Show
End Sub
• Code dans un module standard
VB:
Function uForm(Name As String) As Object
Set uForm = UserForms.Add(Name)
End Function
•Pour tester
1) Test 1
Saisir en A1: UserForm1
puis cliquer sur le bouton
2) Test 2
Saisir UserForm2 en A1
puis cliquer sur le bouton
 

Staple1600

XLDnaute Barbatruc
Re

Donc toujours avec mon exemple simple
(et si on respecte le mode opératoire décrit précédemment)
1=> mauvais mot de passe
2=> bon mot de passe (ici dans l'exemple: 1234)
ExempleUSF.png
 

Staple1600

XLDnaute Barbatruc
Re

Il y avait un petit biais dans le code précédent du CommandButton
Donc le remplacer par celui-ci
VB:
Dim usf As Object
Private Sub CommandButton1_Click()
MotPasse = CStr(InputBox("Mot de passe?", "Identification"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = MotPasse = "1234"
Set usf = uForm(ActiveSheet.Cells(1))
usf.Controls("TextBox1").Visible = SeeMe
usf.Controls("TextBox2").Visible = SeeMe
usf.Show
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

La question était:
"Cacher certains texbox et bouton par mot de passe"
C'est ce que fait mon exemple, non ?

NB:
j ai bien mis userform1 en A1 je clic ca ouvre userfom1
j ai bien mis userfourm2 en a1 je clic ca ouvre userfom2
Ce n'est pas ce qu'on pouvait voir sur la copie d'écran du message#19
où l'on pouvait voir qu'A1 était vide.
 

ngexcel

XLDnaute Occasionnel
j ai mis ton code dans mon bouton feuil1
Dim usf As Object
Private Sub CommandButton1_Click()
MotPasse = CStr(InputBox("Mot de passe?", "Identification"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = MotPasse = "1234"
Set usf = uForm(ActiveSheet.Cells(1))
usf.Controls("TextBox1").Visible = SeeMe
usf.Controls("TextBox2").Visible = SeeMe
usf.Show
End Sub

j ai un message
 

Pièces jointes

  • erreur 1.jpg
    erreur 1.jpg
    221.2 KB · Affichages: 15

Staple1600

XLDnaute Barbatruc
Re

Le mot-clé c'est "être attentif"
Je parlais de tester sur un fichier de test
Et dans le message#18, il y avait du code dans un module standard
Qui bien évidemment doit être copié si utilisé dans un autre classeur...

Encore une fois, ce serait plus simple si tu testais avec un exemple simple comme je le fais!
 

ngexcel

XLDnaute Occasionnel
MERCI pour ton aide je vais chercher une autre solution je n'arrive pas à l adapter a mon fichier mon userfom reste vide sans être actualisé

j ai réussi à voir les textbox quand ca me demande le mot de passe 1234
si tu mets n'importe quoi comme mot de passe ca cache les textbox donc cest bon même si j aurais préféré un mot passe réel mais vraiment dommage dans les deux cas mon userform1 n'affiche pas mes donnes de la feuil2
bonne soirée

merci comme même
 

Pièces jointes

  • VAQ avec couleur.xlsm
    243.6 KB · Affichages: 1

Staple1600

XLDnaute Barbatruc
Re

J'avais continuer mes tests avant de voir ton fichier
Donc toujours à partir de mon simple exemple
(2 userforms, avec 2 TextBox)
auquel je viens de rajouter un ComboBox sur chaque Userform
J'ai aussi ajouté une seconde feuille
Donc nouveau code du CommandButton
VB:
Dim usf As Object
Private Sub CommandButton1_Click()
Dim base
MotPasse = CStr(InputBox("Mot de passe?", "Identification"))
If Len(MotPasse) = 0 Then Exit Sub
SeeMe = MotPasse = "1234"
Set usf = uForm(ActiveSheet.Cells(1))
Select Case usf.Name
Case "UserForm1"
base = ActiveSheet.Range("G2:G30").Value
Case "UserForm2"
base = Sheets("Feuil2").Range("A2:A30").Value
End Select
usf.Controls("TextBox1").Visible = SeeMe
usf.Controls("TextBox2").Visible = SeeMe
usf.Controls("ComboBox1").List = base
usf.Show
End Sub
NB: J'ai mis des données distinctes dans ces plages de cellules
Feuil1 => G2:G30
Feuil2=> A2:A30

Et selon le contenu en A1, l'userform idoine s'affiche et le ComboBox est correctement rempli.

NB: Tu attends quoi pour créer un fichier exemple à partir d'un classeur vierge pour faire des tests?
Pour info, je n'ouvre plus tes PJ, puisque rien qu'à leur taille, je vois que c'est toujours le même fichier...
 

Staple1600

XLDnaute Barbatruc
Re

Voilà donc ce que cela donne
exempleBis.png
(1)=>Mot de passe OK, le ComboBox est bien remplie
Les deux TextBox sont visibles.
(2)=>Les données en colonne G qui servent pour la ComboBox
(3)=> Mauvais mot de passe
On ne voit pas les TextBox, la ComboBox de l'Userform2 est remplie avec les données de la colonne A de la feuille 2 -> (4)
 

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 375
Membres
102 876
dernier inscrit
BouteilleMan