VBA EXCEL : Comment saisir un mot de passe "masqué" ( remplacement des caractère

Signaler
Messages postés
11
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
17 mai 2005
-
Messages postés
11
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
17 mai 2005
-
Le titre est cette fois explicite.
Pour une textBox j'ai mis le code suivant :

Private Sub TypePassBox_KeyPress(ByVal KeyAscii As _
MSForms.ReturnInteger)
Dim strTemp As String
strTemp = FrmOptions.TypePassBox.Text + Chr$(KeyAscii)
pwTempM = pwTempM + Chr$(KeyAscii)
KeyAscii = 164
End Sub

Mais bien que cela réalise ce que je demande, si l'utilisateur fait des erreurs, il efface les caractères dans la textBox mais pas dans la chaîne strTemp !
j'ai alors modifié :
Private Sub TypePassBox_KeyPress(ByVal KeyAscii As _
MSForms.ReturnInteger)
Dim strTemp As String
if KeyAscii = 8 then
strTemp = mid(strTemp, 1, len(strTemp)-1)
else
strTemp = FrmOptions.TypePassBox.Text + _
Chr$(KeyAscii)
pwTempM = pwTempM + Chr$(KeyAscii)
KeyAscii = 164
end if
end sub

Ce qui aurait du gérer si l'utilisateur effaçait le dernier caractère...... mais.....non !

2 réponses

Messages postés
699
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 mai 2011
21
Bonjour,

La propriété PasswordChar du contrôle TextBox existe.
Ne te conviendrait-elle pas plus ?

Fanny
Messages postés
11
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
17 mai 2005

Si !!!! merci, je dois pas avoir l'air naze, vu que c'est une propriété facile d'accès mais cela fait maintenant 3 semaines que j'apprends le VBA ( c'est pour mon projet de stage BTS )
Il faudrait que je cherche plus dans les aides et avec les termes anglais !

Je retiens la leçon, encore merci, Fanny ! n_n