Ecriture dans textbox [VB6] [Résolu]

Signaler
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
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

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
15
Salut,

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

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

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

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

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
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
Merci

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

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

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
impeccable,merci CanisLupus
petchy
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
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
Statut
Membre
Dernière intervention
11 mars 2019
27
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
Statut
Membre
Dernière intervention
19 mai 2015
3
ok,merci Daniel
je vais laissez comme çà
on Week-End
@ plus
petchy