Ecriture dans textbox [VB6]

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 11 nov. 2005 à 09:52
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre 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

6 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
11 nov. 2005 à 10:53
Salut,

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

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
11 nov. 2005 à 12:10
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
3
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
11 nov. 2005 à 11:24
impeccable,merci CanisLupus
petchy
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 nov. 2005 à 11:32
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
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 nov. 2005 à 12:33
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
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
11 nov. 2005 à 12:37
ok,merci Daniel
je vais laissez comme çà
on Week-End
@ plus
petchy
0
Rejoignez-nous