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

cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005 - 17 juin 2004 à 14:25
cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005 - 17 juin 2004 à 19:25
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

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
17 juin 2004 à 14:45
Bonjour,

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

Fanny
0
cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005
17 juin 2004 à 19:25
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
0