Rstreindre la saisie dans un textbox

baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008 - 3 avril 2007 à 19:35
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008 - 5 avril 2007 à 07:40
Bonjour a tous,
Je suis actuellement en stage et j'ai un programe a confectionner.
ce programme est quasiment fini mais il ya quelque chose qui me chagrine car les utilisateur peuvent ecrire ce qu'il veulent dans les textbox. Pour éviter cela je voudrai que l'utilisateur puisse seulement rentrer un type du style: 0034.3542.954/2435 ou 4621A

je remercie d'avance celui ou ceux qui voudrons bien me répondre

10 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
3 avril 2007 à 20:42
Bonjour,
Utilise l'objet MaskedTextBox et définie ton masque qui doit ressemblé à ceci 0000.0000.000/000 dans la propriété Mask

++
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 avril 2007 à 08:08
Le problème est que s'il met 0000.0000.000/000 dans la prpriété mask, la saisie est obligatoire et restrint qu'au numérique.

Or, apparemment, il souhaite aussi donner la possibilité d'entrer un ou des lettres et sous un format différent. Pour que tu essaies de faire au mieux, lis ca :

Extrait d'aide VB6, je ne sais pas si c'est pareil avec ton version de VB alors désolé si ca colle pas.
Vous pouvez définir un masque de saisie en utilisant les caractères suivants :

Caractère |Description |----
0, Chiffre (0 à 9, entrée obligatoire, signes plus (+) et moins (-) non acceptés)., ----
9, Chiffre ou espace (entrée facultative, signes plus et moins non acceptés)., ----
#, Chiffre ou espace (entrée facultative, positions vierges converties en espaces en mode édition, mais les espaces sont effacés lors de la sauvegarde des données, signes plus et moins acceptés)., ----
L, Lettre (A à Z, entrée obligatoire)., ----
?, Lettre (A à Z, entrée facultative)., ----
A, Lettre ou chiffre (entrée obligatoire)., ----
a, Lettre ou chiffre (entrée facultative)., ----
&, Caractère quelconque ou espace (entrée obligatoire)., ----
C, Caractère quelconque ou espace (entrée facultative)., ----
. , : ; - /, Séparateurs de décimales, de milliers, de date et d'heure (le caractère effectivement utilisé dépend des paramètres de la boîte de dialogue Propriétés pour Paramètres régionaux du Panneau de configuration Windows)., ----
<, Convertit tous les caractères en minuscules., ----
>, Convertit tous les caractères en majuscules., ----
!, Permet un remplissage du masque de saisie à partir de la droite et non de gauche à droite, lorsque les caractères situés à gauche du masque de saisie sont facultatifs. Les caractères tapés dans le masque le remplissent toujours de la gauche vers la droite. Le point d'exclamation peut être placé n'importe où dans le masque de saisie., ----
\, Affiche le caractère qui suit sous sa forme ASCII littérale (par exemple, \A s'affiche sous la forme A).
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 avril 2007 à 09:26
Pas de problème, suffit de rajouter un second MaskedTextBox avec le masque correspondant pour une saisie de type 0000A et demander à l'utilisateur de choisir quelle type de valeur il a à saisir.
Et pourquoi la saisie devrait etre obligatoire en passant par ce controle la ?
Pourquoi chercher problèmes quand il y en a pas ???

++
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 avril 2007 à 09:44
0,
Chiffre (0 à 9, entrée obligatoire, signes plus (+) et moins (-) non acceptés).

9,
Chiffre ou espace (entrée facultative, signes plus et moins non acceptés).


La saisie est obligatoire car c'est la particulatité du 0 contrairement au 9 qui est facultatif. Lorsque le champ perd le focus et que certains caractères restent en "_", cela génère un msgbox.
0

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

Posez votre question
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008
4 avril 2007 à 09:53
merci pour ces details.
le seul hic c aue j'arrive pas a trouver le maskedtextbox sur vb 6

merci de me guider dans cette derniere ligne droite
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 avril 2007 à 09:57
Salut,
Si tu travailles en VB6 pourquoi poster ta question ici????  [infomsgf_VB-NET-VB-2005_40.aspx VB.NET et VB 2005] / [infomsgt_DIVERS_221.aspx Divers] / [infomsgt_GENERAL_223.aspx General]
Bref.... le maskedtextbox en vb6 est à ajouter
Microsoft Masked Edit Control 6.0
A ajouter dans le menu Projet => Composant

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 avril 2007 à 10:41
(Post changer de catégorie)
Faites gaffes quand vous posez une question sur le forum....

Nicko, obligatoire donc ! l'utilisateur ne peut pas saisir que le moitié des choses....
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 avril 2007 à 10:49
Exactement, comme je le disais lorsque certains "caractères" restent en "_" sur la maskedbox, la perte de focus entraine un msgbox:

La valeur entrée n'est pas appropriée au masque de saisie 'XX' spécifié pour ce champ où XX est le masque définie.

C'est pour ca qu'il est parfois difficile de trouver exactement ce que l'on cherche.

D'ailleurs, si quelqu'un sait comment donner la position tout a gauche pour le curseur lors de l'obtention du focus par la maskedbox, je suis preneur.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 avril 2007 à 11:30
baboo50,
es-tu certain que c'est VB6 et pas VBA6 (Excel ou autre) ?

Si c'est vraiment VB6, tu ne devrais pas avoir de problème à trouver le contrôle dans la liste des contrôles supplémentaires

MPi
0
baboo50 Messages postés 18 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 23 octobre 2008
5 avril 2007 à 07:40
merci pour toute ces information
et excusez moi de mettre plante de forum.
0
Rejoignez-nous