Empecher les lettre dans texbox

Signaler
Messages postés
124
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
31 décembre 2011
-
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
-
Comment empecher la saisi de lettres dans un textbox et autorisé que les numéro?
merci
@++
Megatrix

3 réponses

Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
Pour permettre de ne saisir que les chiffres et le point decimal, mettre KeyAscii a 0 pour tous les caracteres non desires. Il ne faut pas partir de 0,
car il faut tenir compte des controles (backspace,
enter, etc...)

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 32 To 45, 47, 58 To 255: KeyAscii = 0
End Select
End Sub

Amicalement de Cheyenne.
Messages postés
662
Date d'inscription
mercredi 16 janvier 2002
Statut
Modérateur
Dernière intervention
16 octobre 2010

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Const ES_NUMBER = &H2000&
Private Const GWL_STYLE = (-16)

SetWindowLong Text1.hWnd, GWL_STYLE, GetWindowLong(Text1.hWnd, GWL_STYLE) Or ES_NUMBER

<center>[mailto:fredlynx@codes-sources.com ]
[csbar.aspx La CSBar Vous Connaissez ..?]</center>
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
2
hello :)

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyBack Then Exit Sub

If Not IsNumeric(Chr$(KeyAscii)) Then
KeyAscii = 0'empèche la frappe
End If
End Sub

bien sur les chiffres à virgules ne sont pas autorisé mais bon !!

@+