Ecriture dans textbox [VB6] [Résolu]

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Dernière intervention
19 mai 2015
- - Dernière réponse : cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Dernière intervention
19 mai 2015
- 11 nov. 2005 à 12:37
bonjour à tous
est ce possible que dans un textbox on oblige une écriture ,si oui comment,c'est à dire:
une lettre espace 3chiffres espace 3chiffres espace 3 chiffres
exemple :
Z 000 111 222
merci
@ plus
petchy
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
8
3
Merci
Salut,

Une MaskEditBox (projet/composants "Microsoft MaskEdit ....") avec sa propriété Mask = "? ### ### ###" devrait te convenir.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Dernière intervention
19 mai 2015
3
3
Merci
salut Daniel
merci pour ton code,mais est ce possible de rien avoir dans le textbox à l'ouverture de la form
j'ai essayé ça :
Private Sub Form_Load()
Text1.Text = ""
End Sub
mais ça ne fonctionne pas
merci
petchy

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Dernière intervention
19 mai 2015
3
0
Merci
impeccable,merci CanisLupus
petchy
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
16
0
Merci
j'ai mieux:









Private Sub Form_Load()

Text1.Text = "Z 000 000 000"

End Sub



Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case 8, 46: KeyCode = 0

End Select

End Sub



Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim x As Integer

Dim k As String

Dim s As String



If KeyAscii > 96 And KeyAscii < 121 Then KeyAscii = KeyAscii - 32

k = Chr$(KeyAscii)

KeyAscii = 0

If KeyAscii = 8 Then Exit Sub

x = Text1.SelStart

If x = 13 Then Exit Sub

If x 9 Then x 10

If x 5 Then x 6

If x 1 Then x 2



s = Left$(Text1.Text, x) & k & Mid$(Text1.Text, x + 2)

If s Like "[A-Z] [0-9][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9]" Then

Text1.Text = s

If x 0 Then x 1

If x 4 Then x 5

If x 8 Then x 9

Text1.SelStart = x + 1

End If

beep



End Sub


Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
16
0
Merci
heu non !

il faut toujours quelque chose de bon dans la TextBox

donc si tu commences à partir de rien, c'est déjà faux.

le but c'est d'éviter toute saisie erronée
retourne le problème dans tous les sens, ce n'est pas si simple ...

à quel moment faut-il tester ? en cours de route, à la fin ?

il reste encore le problème du copier/coller



dans mon code, l'initialisation de la TextBox, joue le rôle du masque de la MaskEdit, donc il est obligatoire.

l'autre méthode consiste à permettre à l'utilisateur de saisir
n'importe quoi, et de ne tester seulement qu'à la fin, un peu chiant
pour l'utilisateur, ça l'oblige à tout retaper, et puis à quel moment
c'est quand la fin ?


Daniel
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Dernière intervention
19 mai 2015
3
0
Merci
ok,merci Daniel
je vais laissez comme çà
on Week-End
@ plus
petchy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.