XL 2016 Cacher certains texbox et bouton par mot de passe

  • Initiateur de la discussion Initiateur de la discussion ngexcel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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
 
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
 
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
 
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
 
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.
 
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: 20
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!
 
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

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...
 
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)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
871
Retour