TAB fonctionne pas entre TextBox dans Word

zedisky Messages postés 3 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 14 janvier 2009 - 13 janv. 2009 à 23:18
zedisky Messages postés 3 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 14 janvier 2009 - 14 janv. 2009 à 09:38
Bonjour à tous,

Je crée un documents Word comportant des TextBox issues de la "Boîte à Outils Contrôles", donc des contrôles MSForms 2.0.

Malgré leur propriété TabKeyBehavior à False, une pression de la touche TAB ne déplace pas le focus sur la TextBox suivante...

Quelqu'un a une idée ?

Merci d'avance.

Zedisky 

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
14 janv. 2009 à 00:17
Salut
Chre moi (Word 2003), ça marche très bien.
Vérifie aussi que le TabStop est bien à True sur chaque objet sur lequel tu veux t'arrêter
Si oui, vérifie si tu n'as pas du code qui contredirait l'ordre de sortie dans ton TextBox_Exit :
Si, dans cette Sub, Cancel est passé à True, tu ne sortiras pas de l'objet malgré le Tab (ou même la souris, méfiance)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
zedisky Messages postés 3 Date d'inscription jeudi 19 octobre 2000 Statut Membre Dernière intervention 14 janvier 2009
14 janv. 2009 à 09:38
J'ai oublié de préciser que ces TextBox sont placées directement dans le document et non dans un UserForm.
Du coup, elles perdent certaines de leur propriétés (TabStop et TabIndex notamment) et méthodes (SetFocus pour ne citer que lui).
Comme j'étais pressé, je me suis rabattu sur la gestion de l'évènement KeyDown, et ai généré le code pour les 70 contrôles de mon document... Lourdingue, mais au moins ça fonctionne...

exemple :
Private Sub txtP4Z3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)    If KeyCode 9 And Shift 1 Then txtP4Z2.Select    If KeyCode 9 And Shift 0 Then txtP4Z4.Select
End Sub

Si quelqu'un a une solution plus propre, je suis preneur.

Zedisky 
0