Verification d'un CIN

[Résolu]
Signaler
Messages postés
25
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
11 avril 2008
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Salut tout le monde

Est ce que quelqu'un peut me donner le code de verification d'un CIN :
dans ce champ text je veux ue lorsque tu tape une lettre ou autre chose qu'un numero , sa ne s'ecrit pas en plus je veux que la limite de ce qhamps ne dépasse pas 8num sa veux dire lorsque je tape le 9eme numero il ne s'ajoute pas .

Merciiiiiiii d'avance

37 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Salut,

en ce qui concerne la longueur maximum saisissable, tu as pour toi, qui te tend les bras, la propriété MaxLength d'une Texbox !...
En ce qui concerne la saisie limitée à des numériques, tu as une foultitude de soiurces et de discussions avec solution (dont de moi encore très récemment) sur ce forum.
Tu as pour celà, qui te tend les bras également, un magnifique outil : le moteur de recherche...
Ce sujet est traité au moins une fois par semaine !
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Trouvé...Ouff....

Private Sub Text1_Change()
  Static titi As String
  If Not IsNumeric(transform(Text1) & "1") Then
    Text1.Text = titi
    Text1.SelStart = Len(Text1.Text)
  End If  If InStr(Text1.Text, ",") > 0 Then Text1.Text titi: Text1.SelStart Len(titi): Exit Sub
  titi = Text1.Text
End Sub
Private Function transform(ctrl As TextBox)
  titi = ctrl.Text
  For i = 1 To Len(titi)
    If Mid(titi, i, 1) = "." Then
       Mid(titi, i, 1) = ","
    End If
  Next
  transform = titi
  DoEvents
End Function

A+
Exploreur

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut et re-bonsoir Jmfmarques,

Tu peux aussi regarder avec ton aide, LEN .....Après ton imagination va débordée....

A+
Exploreur

 
Messages postés
30
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
26 septembre 2008

tu veu pa faire le moindre effort on diré, ke dieu te pardonne

tien voila un pti code pour bloquer les caractère pour les otre tu as ce k'il fo ne soit pa tro gourmant



Private

Sub TextBox1_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






       
If (e.KeyChar.IsNumber(e.KeyChar)) = FalseThen






           

e.Handled = True






       
End
If







   
End
Sub





 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Et moi... (je suis vicieux...) je t'y fiche un zouli zouli copié-collé non géré par l'événement Keypress ...
Messages postés
30
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
26 septembre 2008

alors tu gerera differement avec le textChanged ;)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

surfeurX,
1/ évite le sms s'il te plait
2/ ton code est en vb  .Net, il est en VB6

King_moez,
tu peux trouver sur e site de Codyx des snippets afin de rendre un TextBox qu'avec des saisies numériques.
Concernant la longueur maximum, jmfmarques t'as filé la bonne réponse.

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut 792207 surfeurX,

Il y a des truc bizarre...

Private Sub Text_KeyPress(KeyAscii As Integer)


 If Not IsNumeric(Chr(KeyAscii)) Then key
           KeyAscii = 0
 End if

End Sub


A+
Exploreur


 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Oui ? et Comment ?
Chercher la solution Jmf (donnée très récemment et sans même toucher à KeyPress)
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Tu vois Jmfmarque tu aurai du en faire un snippet...Malheureusement je suis pas sur mon pc, et ne peux la lui montrer...

A+
Exploreur

 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
La meilleure solution est celle d'EBArtSoft :

Const ES_NUMBER As Long =  &H2000&
Const GWL_STYLE As Long = -16

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Function SetTextBoxNum(ByRef Obj As Object) As Boolean
    SetWindowLong Obj.hwnd, GWL_STYLE, GetWindowLong(Obj.hwnd, GWL_STYLE) Or ES_NUMBER
End Function
' ==== Utilisation :

'Private Sub Form_Load()
'    Call SetTextBoxNum(Text1)
'End Sub

~ <small> Mortalino ~ Colorisation automatique </small>

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Mal poli que je suis....Bonsoir Mortalino...

A+
Exploreur

 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Idem, donc Salut à tous 

Bon beh comme quoi, des solutions, il en existent quelques-unes

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonsoir Mortalino

Tu crois ?

Regarde : (et je peux traiter de la même façon avec séparateur virgule, avec séparateur point ... ou avec les 2... je finirai par le déposer, ce snippet  ) ert tu peux toujours essayer de copier-coller ce qui n'est pas acceptable)

Private Sub Text1_Change()
  Static titi As String
  If Not IsNumeric(Text1.Text & "1") Then
    Text1.Text = titi
    Text1.SelStart = Len(Text1.Text)
  End If
  titi = Text1.Text
End Sub


 


A Exploreur : ici : plus simple encore car même pas besoin de traiter les virgules et/.ou les points ...
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Bonsoir Jacques,

j'ai réussi à mettre
123.4E3
Avec ton code

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Ben c'est un lien que je vais garder au chaud......

A+
Exploreur

 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Et avec le code d'EB, le copier / coller fonctionne.
Le point ou la virgule ne s'affiche pas

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Je suis allé trop vite, en effet...
Je reviens donc...
3 minutes, STP
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut king_moez,

Tu as valider ma réponse, mais ce n'est pas moi qui est fait le code, c'est Jmfmarques..

A+
Exploreur

 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Coucou Mprtaliono (désolé : le téléphone m'a interrompu) !...

voilà donc :

Private Sub Text1_Change()
  Static titi As String
  toto = InStr(Text1.Text, ",") + InStr(Text1.Text, ".")
  If Not IsNumeric(Text1.Text & "1") Or (toto > 0 Or Text1.Text Like "*[A-Z]*") Then
    Text1.Text = titi
    Text1.SelStart = Len(Text1.Text)
  End If
  titi = Text1.Text
End Sub