ckoo
Messages postés96Date d'inscriptionjeudi 2 mai 2002StatutMembreDernière intervention18 août 2004
-
30 mai 2002 à 17:18
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013
-
30 mai 2002 à 22:17
Je voudrais rechercher dans une chaine de caractère (saisie dans une textBox) si il y a des cractères autres que des chiffres.
Comment vérifier aussi que le champ saisit pour un numéro de téléphone contient bien 10 chiffre et commence par 0
Aidez moi SVP je n'ai pas d'aide sous VB je commence juste et je rame
merci d'avance....
fredlynx
Messages postés662Date d'inscriptionmercredi 16 janvier 2002StatutModérateurDernière intervention16 octobre 20103 30 mai 2002 à 18:30
Déja un petit truc ;)
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Const ES_NUMBER = &H2000&
Public Const GWL_STYLE = (-16)
SetWindowLong Text1.hWnd, GWL_STYLE, GetWindowLong(Text1.hWnd, GWL_STYLE) Or ES_NUMBER
Voilà une foi que tu à fait ça à ta textBox elle n'accepte que les chiffres sans que tu ne fasse rien :)
Pour le test tu fais du genre ...
Private Sub Text1_Change() If Len(Text1.Text) 10 And Left(Text1.Text, 1) "0" Then
'Ici ton numéro est valide
Else
'ici ton num est invalide
End If
End Sub
granddebutant
Messages postés7Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention 4 juillet 2002 30 mai 2002 à 18:46
Pour le numéro de téléphone, le plus simple est que tu ajoutes le composant Microsoft Masked Edit Control 6.0 (bouton droit de la souris sur la barre d'outils - Composants...).
Tu places le controle MaskEdBox1 sur ta form et tu changes la propriété Mask en 0#-##-##-##-## par exemple .
Le zéro est automatiquement placé au début.
Les # obligent à placer un chiffre.
Et la longueur de ton mask ne permet pas de rentrer plus de 9 chiffres en plus du 0.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 30 mai 2002 à 22:17
Pour Mr FredLynx ET Mr ckoo :
Pour s'asurrer que le gars ne mettent que des chiffres et pas des lettres ya encore 1000 fois plus simple :
Tu mets cette fonction dans ton code ou tu veux :
Private Function Controle_Saisie(KeyAscii As Integer) As Integer
If KeyAscii < 48 Or KeyAscii > 57 Then
Controle_Saisie = 0
Else
Controle_Saisie = KeyAscii
End If
End Function
Puis ensuite dans l'evenement KeyPress de ta textbox tu devra avoir ca :
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Controle_Saisie(KeyAscii)
End Sub
Voili voilou .... ca marche tres bien et c'est surtout beaucoup plus simple
Sinon pour ce qui est de la verification de la taille de la chaine de charactere, le methode de FredLynx va tres bien...