Bonjour à tous
je travaille sur un fichier dans lequel j'ai créer un userform avec un textbox. Ce textbox me permet de renseigner la date de naissance. Je la renseigne en "brut" jjmmaaaa et en sortant le focus de ce textbox, la date se formate automatiquement en jj/mm/aaaa. Jusque là tout va bien
J'utilise mon userform pour faire de la saisie et je fais cette saisi sur un portable. Ce que j'ai essayé de faire en utilisant select case c'est de transformer immédiatement les caractères spéciaux &, é, ", ', (, -, è, _, ç, à, en leur chriffre correspondant 1,2,3 ...etc. Mais ça marche pas
ci dessous les bouts de code (je n'arrive pas à faire un fichier moins gros que 348ko )
Ma textbox se nomme TxtNaisassance
Code:
Private Sub TxtNaissance_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Dim naiss As String
'naiss = TxtNaissance.Text
'Select Case Len(naiss)
'Case 2, 5
'naiss = naiss & "/"
'End Select
If TxtNaissance.Value = "" Then Exit Sub
TxtNaissance.Text = Format(TxtNaissance.Value, "##/##/####")
End Sub
Private Sub TxtNaissance_keyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case KeyAscii = 38 '&
KeyAscii = 49
Case KeyAscii = 233 'é
KeyAscii = 50
Case KeyAscii = 33
KeyAscii = 51
Case KeyAscii = 39 ' apostrophe
KeyAscii = 52
Case KeyAscii = 40 ' (
KeyAscii = 53
Case KeyAscii = 45 ' -
KeyAscii = 54
Case KeyAscii = 232 'è
KeyAscii = 55
Case KeyAscii = 137 '_ underscore
KeyAscii = 56
Case KeyAscii = 231 'ç
KeyAscii = 57
Case KeyAscii = 224 'à
KeyAscii = 58
Case Else
If Not ((KeyAscii >= 48 And KeyAscii <= 57)) Then ' Si la valeur n'est pas comprise entre 0 et 9
KeyAscii = 0 'on annule la pression sur la touche
End If
End Select
End Sub
Merci d'avance à tous ceux qui se pencherons sur mon problème
cordialement
P.S si vous arrivez a trouver ou a retrouver un bout de code sur le forum ou notre ami g...gle n'hésitez pas à me le faire savoir et aussi vos mots clés pour la recherche alors car je n'ai pas trouvé
Re : chiffres automatiques à la place des caractères spéciaux dans textbox
Bonjour jecirbe,
avec ceci:
revérifie les codes, nous n'avons peut-être pas le même clavier
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 38 '&
KeyAscii = 49
Case 233 'é
KeyAscii = 50
Case 33
KeyAscii = 51
Case 39 ' apostrophe
KeyAscii = 52
Case 40 ' (
KeyAscii = 53
Case 45 ' -
KeyAscii = 54
Case 232 'è
KeyAscii = 55
Case 137 '_ underscore
KeyAscii = 56
Case 231 'ç
KeyAscii = 57
Case 224 'à
KeyAscii = 48
Case Else
If Not ((KeyAscii >= 48 And KeyAscii <= 57)) Then ' Si la valeur n'est pas comprise entre 0 et 9
KeyAscii = 0 'on annule la pression sur la touche
End If
End Select
End Sub
[Résolu] Re : chiffres automatiques à la place des caractères spéciaux dans textbox
Merci Philippe
ta correction fonctionne presque parfaitement. Les chiffres 3, 8, 0 ne fonctionnent pas mais comme tu la laisser entendre i faut que je reprenne les code
Merci encore
A une prochaine
Brice