Excel 2010 Touche tab pour passer à la zone de texte suivante

Excel 2010 Touche tab pour passer à la zone de texte suivante - VB/VBA/VBS - Programmation

Marsh Posté le 31-05-2016 à 08:13:54    

Bonjour,
 
J'ai un petit souci avec VBA sous Excel 2010
 
J'ai créé un petit programme VBA sous Excel 2010.
 
J'ai une USerForm avec 12 zones de texte.
Si je ne rentre aucune donnée en appuyant sur "TAB" ou "Entrée" je passe à la zone de texte suivante.
Si je rentre un caractère dans 1 zone de texte la touche tab insère une tabulation mais ne passe plus à la zone de texte suivante !
 
Comment faire pour que la touche TAB serve exclusivement à passer à la zone de texte suivante ?
 
Dans les propriétés de chaque zone de texte y'a:

  • TabKeyBehavior : False
  • EnterKeyBehavior: False


Merci d'avance de m'aider (je suis un grand débutant, c'est mon premier programme et je galère avec ça).


Message édité par acetone802000 le 31-05-2016 à 10:05:04
Reply

Marsh Posté le 31-05-2016 à 08:13:54   

Reply

Marsh Posté le 31-05-2016 à 08:43:48    

C'est bizarre ... Essaye de passer MultiLine à False pour tes champs si tu n'en as pas besoin.

Reply

Marsh Posté le 31-05-2016 à 08:54:35    

Merci de ta réponse !
 
Je viens de vérifier, sur toutes mes zones de texte la propriété MultiLine est sur False.
 
Vais tester en virant le Ucase que j'ai mis
 
Private Sub etablissement_AfterUpdate()
etablissement = UCase(etablissement)
End Sub

Reply

Marsh Posté le 31-05-2016 à 09:02:37    

Résolu: Merci de l'aide
 
En virant l'ucase ça marchait, j'ai donc fait comme les enzymes j'ai fait le tour:
 
Private Sub nom_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
 
à l'air de fonctionner...


Message édité par acetone802000 le 31-05-2016 à 10:12:59
Reply

Marsh Posté le 31-05-2016 à 10:12:33    

Je pige pas :
 
La première zone de texte est automatiquement pré-remplies dans le module principal avant de lancer l'UserForm
 
UserForm1.nom = Worksheets("Variables" ).Range("B2" ).Value
 
Les autres par UserForm1.eval_nom = ""
 
Si je modifie la zone de texte pré-remplie la touche TAB met une tabulation ensuite la touche TAB ne permet plus de changer de zone de texte sur aucune zone de texte.
Si je ne la modifie pas la zone de texte pré-remplie la touche TAB fait changer de zone de texte Oo

Reply

Marsh Posté le 31-05-2016 à 13:21:15    

Regarde la propriété AutoTab de ton premier champ (doit être à False)
Je viens de faire le test et je n'ai pas le comportement que tu décris : dans tous les cas, je passe au champ suivant.
 
Sinon, il faut regarder dans la direction des évènements SetFocus ou LostFocus ainsi que l'ordre des tabulations de chaque champ (propriété TabIndex).
 
Tu dois avoir un évènement qui ne se déclenche pas ou qui se déclenche à tort.  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed