Bonjour et merci à ceux qui m’ont déjà répondu auj.
Toujours des questions sur VB (je débute dans ce langage)…
Je veux faire un événement clavier et un événement souris qui écoute un champ texte. (Le but est de contrôler que le contenu soit bien un num. de carte d’identité.. )
Je voudrais appeler Verificar_NIF… quand l’utilisateur appuie sur entrée (evt clavier) et aussi quand il sort du champ (evt souris).
Je mets le code à la fin du message :
Ce code ne fait rien (je sais que ma fonction Verificar.. fonctionne car je l’ai testée). Il ne me fait même pas le msgBox avec le code de la touche.
Je cherche donc :
- code de la touche entrée (vbclrf je crois ou 13 en valeur), et la fonction qui peut la comparer au KeyAscii poussé : cInt, Cstr,car…. ?
- S’il y a une erreur de code ou dans mon événement clavier TextBox121_KeyPress ou ds mon évènement souris TextBox121_LostFocus
- Si j’ai bien utilisé les bons types d’évènements…
Merci beaucoup !
Julia
'funcionamiento:escucha del control de NIF
'nota: cambiar por un nombre más adecuado (cuando nombre del control haya cambiado)
Private Sub TextBox121_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Dim AllowedKeys As String 'control mientras tecleando (lo harémos luego)
Dim NIF_entrado As String
NIF_entrado = TextBox121.Text 'cambiar por un nombre más adecuado
Dim valido As Boolean
Dim KeysOfValidation As String 'Array de las teclas de validación
KeysOfValidation = "{ENTER}" 'completar luego
'If InStr(KeysOfValidation , Chr(KeyAscii)) = 0 Then 'ha presado Enter
MsgBox CStr(KeyAscii)
If KeyAscii = CInt(vbCrLf) Then
valido = Verificar_NIF(NIF_entrado)
'Controles: no se podrá salir del campo hasta que el NIF sea valido (por ejemplo)
Dim mensaje_alert As String
mensaje_alert = "No se podrá grabar el documento si los campos no son validos !"
'poner variables de control en un estado False (luego)
If valido = False Then
MsgBox mensaje_alert, vbOKOnly, "WARNING"
End If
End If
End Sub
'
'
Private Sub TextBox121_LostFocus()
Dim NIF_entrado As String
NIF_entrado = TextBox121.Text 'cambiar por un nombre más adecuado
Dim valido As Boolean
valido = Verificar_NIF(NIF_entrado)
Dim mensaje_alert As String
mensaje_alert = "No se podrá grabar el documento si los campos no son validos !"
'poner variables de control en un estado False (luego)
'Controles: no se podrá salir del campo hasta que el NIF sea valido (por ejemplo, hacerlo luego)
If valido = False Then
MsgBox mensaje_alert, vbOKOnly, "WARNING"
End If
End Sub