OVH Cloud OVH Cloud

[2003] Gestion du TabIndex

13 réponses
Avatar
Péhemme
Bonjour à Tous,



Le contexte :

Dans un UserForm, j'ai un MultiPage contenant 3 pages.

Sur la Page1 j'ai :

directement sur la page, entre autres Labels et Boutons : 1 TextBox,

puis dans le Frame1, entre autres Labels, OptionButtons, DTPicker : 2
TextBox

et dans le Frame2, des Labels et 4 TextBox.

Oublions les autres pages du Multipage.



L'objectif :

Je souhaite, avec la touche Tab, me déplacer de TextBox en TextBox.



Par tâtonnements, j'ai cru comprendre que les index du TabIndex étaient
initialisés par objet contenant.

Les TabIndex repartent à 0 à chaque niveau de contenant. (mais je peux me
tromper).

Afin de contourner cette difficulté, j'ai :

a) mis tous les TabStop des contrôles à False (sauf mes fameuses TextBox à
True).

b) utilisé « Ordre de Tabulation » . (peut-être maladroitement)...

c) j'ai même fait une macro dans le UserForm_Initialize :

With MultiPage1.page1

For i = 0 To 6

Controls("TextBox" & i + 1).TabIndex = i

Next i

End With

Tous les TabKeyBeavior des TextBox sont à False

Aucune de ces méthodes ne me permet d'atteindre mon objectif.



Les questions :

Qu'est-ce que je fais mal ou d'incomplet ?

Existe-t-il une méthode me permettant d'atteindre mon but de me déplacer
uniquement sur mes TextBox de la page 1 de mon Multipage, qu'ils soient ou
non dans des Frames, avec la touche Tab de mon clavier ?



Merci d'avance

Michel

3 réponses

1 2
Avatar
Péhemme
Eh bien comme promis : mille mercis.
;-))
Cependant, tu l'as fait également pour les autres pages.
Si tu fais tout, comment veux-tu que j'apprenne ?...
Plus sérieusement : Merci encore une fois de ton aide.
Bien amicalement
Michel

"michdenis" a écrit dans le message de
news:ikuak3$v8a$
Pour les 3 pages de ton formulaire : http://cjoint.com/?1dfwHpHTzmY

Pour l'onglet Vente : c'est le même principe pour les 3 pages

A ) Facture, Avoir et Montant TTC, TapStop = False
B ) Client : = TabIndex = 0
C ) Frame1 : = TabIndex = 1
D ) Textbox pour le No : tabindex = 0
E ) Textbox pour le Montant TTC : = TabIndex = 1

F ) Bouton Valider : = TabIndex = 4 , TabStop = False

Ce qui fait que pour les contrôles pour la page Vente, tu as :
Textbox client = TapIndex =0
Frame1 = TapIndex = 1
Frame2 = TapIndex = 2

Et dans chaque frame, tu as 2 textbox
dont le tapindex est 0 et 1.

Voilà

MichD
--------------------------------------------

Avatar
michdenis
| comment veux-tu que j'apprenne ?...

A ) Tente de refaire les manipulations en utilisant la version de ton programme sur ton ordinateur

B ) Lors de mon premier envoi, comme je n'avais pas mis les points sur les i, tu n'as pas manqué de me le rappeler!
;-)


MichD
--------------------------------------------
Avatar
Péhemme
:-))
A ) Tente de refaire les manipulations en utilisant la version de ton
programme sur ton ordinateur


Je te taquinais.
C'est naturellement ce que j'ai fait, et ce, d'autant plus que ton
explication manquait de précisions (pour mon petit cerveau).
J'ai bien compris maintenant l'importance et le rôle de TabIndex et TabStop.
Jusqu'à présent, c'était clair dans ma tête dans des cas simples. Avec
plusieurs contenants, c'est la première fois que je touche du doigt les
subtilités apportées par les combinaisons de ces deux propriétés.
Je n'ai pas fini de m'accrocher (en référence au sobriquet attribué par JPS
lors de notre sortie à Saulieu en 2004) et donc d'apprendre...

Au fait !? T'ai-je dit merci ?
;-))
Bien amicalement
Michel



"michdenis" a écrit dans le message de
news:il00tm$2u6$
| comment veux-tu que j'apprenne ?...

A ) Tente de refaire les manipulations en utilisant la version de ton
programme sur ton ordinateur

B ) Lors de mon premier envoi, comme je n'avais pas mis les points sur les
i, tu n'as pas manqué de me le rappeler!
;-)


MichD
--------------------------------------------

1 2