Control dans Txtbox

Résolu
Jeffbris07 Messages postés 4 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 16 février 2005 - 2 févr. 2005 à 20:58
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 4 févr. 2005 à 10:26
Salut
Je voudrais avoir un code source pour pouvoir être capable de controle la saisie d'une adresse email de facon simple SVP. En fait, je veux pouvoir controlé la saisie afin quelle respecte cette forme. ********@*******.***

Merci

Briss

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
2 févr. 2005 à 22:56
Donc 1 er contrôle de saisie à la volée :

Private Sub Text1_KeyPress(KeyAscii As Integer)


If KeyAscii > 31 And (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii < 65 Or KeyAscii > 90) And (KeyAscii < 97 Or KeyAscii > 122) And KeyAscii <> 64 And KeyAscii <> 46 And KeyAscii <> 95 And KeyAscii <> 45 Then KeyAscii = 0

End Sub

Explik :

- If KeyAscii > 31 : on permet les touches permettant de rectifier sa saisie (backspace, retour arrière, suppr, ...)
- And (KeyAscii < 48 Or KeyAscii > 57) : on permet la saisie des chiffres
- And (KeyAscii < 65 Or KeyAscii > 90) : on permet la saisie des lettres de "A" à "Z"
- And (KeyAscii < 97 Or KeyAscii > 122) : on permet la saisie des lettres de "a" à "z"
- And KeyAscii <> 64 : on permet la saisie de "@"
- And KeyAscii <> 46 : on permet la saisie de "."
- And KeyAscii <> 95 : on permet la saisie de "_"
- And KeyAscii <> 45 : on permet la saisie de "-"
- Then KeyAscii = 0 : sinon, on annule la saisie

En fait, keyascii représente la valeur ASCII des caractères, le reste, c'est qu'une histoire de cominaisons OR/AND.

Ensuite, tu peux analyser la chaine saisie pour vérifier s'il n'y a pas plusieurs fois un "@" de saisi par exemple.

Cordialement, CanisLupus
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
2 févr. 2005 à 21:40
Salut,

Une façon simple ?

A priori, un contrôle de ce type se fait en 3 temps :

1 - Sur le keypress dans la textbox, contrôler les caractères admis avec if keyascii en excluant les caractères interdits (autres que alphanumériques et différents de ".", "_", "-", "@",...)
2 - Avant de valider, chercher s'il y a 1 seul "@",
3 - Vérifier si le domaine existe, du genre "com", "fr", .... (la liste est longue), voire le nom (voila, free, wanadoo, ....) liste encore plus longue et jamais exhaustive.

Pour moi, la façon la plus simple et la plus sécurisée (enfin bon ...) est d'envoyer un mail à l'adresse saisie et de ne valider l'inscription que s'il y a une réponse OK.

Cordialement, CanisLupus
0
Jeffbris07 Messages postés 4 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 16 février 2005
2 févr. 2005 à 21:54
Salut,

En fait, mon véritable problème est que je ne sais pas comment faire la saisie des alphanumérique et comment faire l'interdiction des autres caractères. Pour le
reste, je crois pouvoir me débrouiller avec ma base de connaissance limité.
Je suis a la base du probleme. J'utilise simplement le VBA pour completer un carnet
d'adresse pour ARCGIS. Je veux simplement limiter les risque d'erreur de saisie
d'adress email. Un exemple de programation m'aiderais beaucoup pour controler
mon adress email serait tres aprécier.

Coordialement
Briss
0
Jeffbris07 Messages postés 4 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 16 février 2005
4 févr. 2005 à 01:34
Salut,

Merci bien gros pour ton aide. Cela marche tres bien sauf que j'ignore simplement
comment empecher la duplication d'un caractere telle que le @.

Merci

Briss
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
4 févr. 2005 à 10:26
Pour empêcher la saisie en double de @ tu ajoutes, toujours dans le keypress :

If KeyAscii = 64 And InStr(TaTextBox.Text, "@") > 0 Then
KeyAscii = 0
End If

Après, bien sûr, à la validation par exemple, il faudra contrôler s'il y a bien 1 @ :

If InStr(TaTextBox.Text, "@") = 0 Then
'code si pas une adresse valide
Else
'code si l'adresse est valide
End If

Cordialement, CanisLupus
0
Rejoignez-nous