TextBox

gonclo Messages postés 4 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 octobre 2006 - 13 févr. 2006 à 05:06
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011 - 11 avril 2006 à 19:21
Bjr à tous
Qui pourrait m'expliquer pourquoi quand je fixe une maxlength à ma textBox il accepte toujours n-1 caractère.CAD par exemple je fixe maxlengt à 3 et lors de l'exécution je ne peux saisir que 2 caractères.
Et comment faire aussi ce qui suit: j'ai 2 textBox que je fixe maxlength à 2 et je voudrais quand le maxlength du 1er textBox atteint ;le focus passe automatiquement au 2eme textBox.

9 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
13 févr. 2006 à 10:41
Bonjour,
VB6 ? .net ?
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
13 févr. 2006 à 10:59
Willi pose la bonne question... Et pour éviter qu'on te la repose à chaque fois, il serait bien que tu penses à toujours le préciser.

Mais, de manière générale, je dirais que, peu importe que ce soit n ou n-1 (même si ce n'est pas normal [vérifie qu'il n'y ai pas de caractères à la con comme un CHR(13) ou 10 ou autre]) du moment que tu obtiens ce que tu voulais!!!

Pour que le focus passe automatiquement (à la manière de la saisie des numéros de licence lors de l'install de certains softs [vilains softs que sont ceux qui ont ce système... rrrr]), il faut, déjà, utiliser une procédure évenementielle du type KeyPress ou KeyUp... A l'intérieur, il te suffit de tester le nombre de caractère via, par exemple, Len(varString).

D'autres questions ?

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
gonclo Messages postés 4 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 octobre 2006
13 févr. 2006 à 11:06
oui excuse moi c'est en VB6.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
13 févr. 2006 à 11:14
Salut,


Il faut utiliser l'évenement KeyUp :





Private Sub Text1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If Len(Text1.Text) = Text1.MaxLength Then

Text2.SetFocus

End If

End Sub


Pour ton problème de nombre de caractères, ben ... c'est pas normal
du tout. Si MaxLength vaut 4, tu ne peux entrer que 4 caractères. S'il
vaut 0, tu n'es limité que par la capacité de la textbox (32Ko il me
semble).

Pas de décalage de 1 ...


Manu
0

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

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
13 févr. 2006 à 11:15
Oups, j'ai créé çà sous VBA ... Le Type de la variable KeyCode devra être changé pour fonctionner en VB6.







Private Sub Text1_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)

If Len(Text1.Text) = Text1.MaxLength Then

Text2.SetFocus

End If

End Sub

Manu
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
13 févr. 2006 à 11:15
Comme ScSami dit cela importe peu pour n-1....

Voici pour ta 2ième question: Quand le MaxLength du textbox1 est atteint on met le focus sur la textbox2

Private Sub Text1_Change()


If Len(Text1.Text) = Text1.MaxLength Then
Text2.SetFocus
End If

End Sub



<HR width="100%" SIZE=2>



Si la réponse te conviens merci de l'accepter
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Modérateur Dernière intervention 23 décembre 2008 23
13 févr. 2006 à 11:15
Oups, j'ai créé çà sous VBA ... Le Type de la variable KeyCode devra être changé pour fonctionner en VB6.







Private Sub Text1_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)

If Len(Text1.Text) = Text1.MaxLength Then

Text2.SetFocus

End If

End Sub

Manu
0
gonclo Messages postés 4 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 octobre 2006
14 févr. 2006 à 07:23
SALUT

Que faudrait-il faire pour le proplème de nombre de caractère?

cloclo
0
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
11 avril 2006 à 19:21
Salut

pour passer automatiquement à la textbox suivante, tu peux aussi utiliser le paramètre "Autotab" de la textbox, et le mettre en "True"

quite simple ;)

Max
0