Afficher des * à la place des lettres dans un textbox en vba [Résolu]

Signaler
Messages postés
69
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
15 septembre 2005
-
Messages postés
49
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
24 mars 2010
-
Bonjour,



J'ai cherché sur le forum un moyen de mettre des * dans les textbox et
j'ai trouvé la propriété Passwordchar (ou un truc dans le genre) mais
en essayant de l'appliquer : pas de propriété dont le nom soit
approchant. J'ai cherché aussi dans la liste des propriétés et je n'ai
rien trouvé qui semble avoir une fonction similaire.



En attendant, j'ai changé la police par des symboles (type windings)
car personne aucun utilisateur ne pourra changer la police ni avoir
accès au code.



Mais cette méthode n'est pas très esthétique donc si vous savez s'il
est possible de mettre des * en VBA, je suis preneur. Sinon... ben tant
pis



Je vous attends

5 réponses

Messages postés
69
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
15 septembre 2005

Bon ben je suis un nul....

Il faut faire un masque de saisie : inputmask = "PASSWORD"
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
49
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
24 mars 2010

salut,

sinon y'a toujours moyen de bidouille un truc rapide du genre

Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim test As String
'stocke le pass dans variable
test = test & Chr$(KeyAscii)
'remplace lettre tapée par *
Text1.Text = Text1.Text & Chr$(42)
End Sub

apres avec un peu d'imagination on peut faire pas mal de choses avec ça

++
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
salut,

Démarche à suivre :

1. ouvrir Excel, nouveau fichier
2. Dans le menu, Macro, click Visual Basic Editor.
3. Dans menu Insertion , click UserForm pour inserérer un UserForm dans votre feiulle.
4. Ajouter un TextBox controle dans ton UserForm.
5. cliques sur la fenetre Propriétés
6. Dans la propriété PasswordChar du TextBox control, taper *.


Extrait de http://support.microsoft.com/default.aspx?scid=kb;en-us;829070
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Oui et c'est faisable avec l'exemple que Axen à fait à l'exception de devoir tester la touche (BackSpace) pour qu'il ne fasse pas un * à la place et puis annulé la frappe par un Keyascii=0

Dim test As String


Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii <> 8 Then
'stocke le pass dans variable
test = test & Chr$(KeyAscii)
'remplace lettre tapée par *
Text1.Text = Text1.Text & Chr$(42)
Text1.SelStart = Len(Text1)
KeyAscii = 0
End If

End Sub
Messages postés
49
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
24 mars 2010

ah oui tiens bien vu je l'avais oublié celle la... honte sur moi, je l'ai utilisé y'a meme pas 1 mois...

mais bon j'adore ce bout de code car on peut faire tout plein de chose (bien)