Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Objet OleObject et tabulation

31 réponses
Avatar
JP
Bonjour,

Dans une feuille, j'ai plusieurs textbox num=E9rot=E9s de 1 =E0 12.
Est-ce qu'il est possible, comme dans un userform, de se d=E9placer de text=
box en textbox =E0 l'aide de la touche de tabulation?
Je n'ai pas trouv=E9 l'=E9quivalent dans les propri=E9t=E9s du textbox.

Merci

JP

10 réponses

1 2 3 4
Avatar
MichD
Dans la procédure "MaCollection"

A ) L'expression textbox dans mon application est en majuscule
pourquoi ne l'as-tu pas laissé en majuscule?

If UCase(Left(Obj.Name, 7)) = "TEXTBOX" Then

B ) Dans l'onglet Développeur, Section : Contrôles, si tu cliques sur
la commande : Mode création, puis sur la commande Propriétés,
lorsque tu sélectionnes à tour de rôle, tu vois dans la fenêtre
propriété, le nom de l'objet : Textbox1 , Textbox2 ....

Tu dois faire en sorte que l'index des noms de tes textbox de la
propriété "Name" soit dans l'ordre dont tu veux que le curseur se
déplace d'un textbox à l'autre.

Attention, le Textbox13 de la feuille "Fournisseurs" ne devrait pas
avoir
un nom (toujours propriété name) débutant par "Textbox" si tu veux
l'exclure des textbox accessibles par la touche "TAB".

MichD
---------------------------------------------------------------
Avatar
JP
Bonjour Denis,

Je fais tout comme tu dis et rien ne fonctionne.
Sur ton exemple, je me suis amusé à changer l'indice des textbox et plu s rien ne fonctionne.
Alors j'ai décider de recréer toutes les textebox de mon projet en fais ant attention aux indices. Rien de concluant, les tabulations ne fonctionne nt toujours pas.
Quand je change de feuille, le code du Thisworkbook s'execute mais les tabu lations ne se mettent pas en place. La ligne
If UCase(Left(Obj.Name, 7)) = "TEXTBOX" Then
est corrigée aussi.

Help, regarde mon exemple ci joint pour comprendre mon souci.

http://cjoint.com/?0Kupdbpwpah

Merci

JP
Avatar
MichD
ton fichier en retour : http://cjoint.com/?CKutdY0D0mv


MichD
---------------------------------------------------------------
Avatar
JP
ha! c'est avec un sourire non dissimulé que je te remercie.
Cette fois les tabulations suivent l'ordre des textboxs.
J'ai vu les modifications que tu as apportées.
Juste une précision, quelques fois il arrive, après plusieurs ajout de fiches clients, que les tabulations ne soient plus opérationnelles.
Est ce que relancer sous le bouton "nouveau" le code MaCollection du module 1 peut être source d'erreur?

Merci encore.

JP
Avatar
MichD
Tu peux si tu le veux relancer la macro "MaCollection" à l'aide d'un bouton
Ce n'est pas un problème!

SAUF:
Le problème que tu éprouves en est un de "focus". Même si tu ne vois pas
le curseur, il est bien sur le textbox et pour preuve, tu peux taper du
texte en
utilisant le clavier et tu peux passer d'un textbox à l'autre sauf que le
curseur
n'apparaît pas toujours dans le textbox, ce qui entoure le textbox n'est pas
la
feuille de calcul, mais un contrôle que tu as utilisé sur lequel tu as créé
les textbox.

Je crois (je n'ai pas testé) que si tu avais un formulaire (userform) avec
un contrôle
"Multipage" dans lequel tu aurais pu mettre les boutons de tes feuilles
"Fournisseurs"
et "clients" dans une page respective que tu n'aurais pas cet inconfort.

Si quelqu'un a une solution à offrir, elle est bienvenue.

MichD
---------------------------------------------------------------
Avatar
JP
Je viens d'essayer d'inclure sous le bouton nouveau MaCollection et pas de problème à priori.

Private Sub NouveauClient_Click()
' relance la gestion des tabulations de l'onglet client
MaCollection
For i = 1 To 10
.... etc

J'ai aussi testé ce que tu disais: "...utilisant le clavier et tu peux pa sser d'un textbox à l'autre sauf que le curseur n'apparaît pas toujours dans le textbox"

Effectivement je confirme le texte apparait dans le textbox suivant.

Merci

JP
Avatar
MichD
Regarde cette version, cela semble un peu mieux!
http://cjoint.com/?CKuxUcyrjXL

Pourquoi avoir créé plusieurs groupes dans la feuille "fournisseurs" ?

Je suis étonné de voir autant de scintillement à l'écran?
Moi, je n'ai pas regardé tout le code... tu as une explication.

Au sujet de la perte de focus, cela semble plutôt que le curseur
a tendance à se placer à l'extrême gauche au-delà de la marge
prévue par défaut dans le Textbox, ce qui le rend "invisible".


MichD
---------------------------------------------------------------
Avatar
MichD
Au sujet du scintillement, je t'ai fait un petit
exemple en utilisant seulement la Feuille "Clients"
de ton fichier dans un autre classeur : http://cjoint.com/?CKve7wHVSvE

Lorsque le fichier s'ouvre, tu as une fenêtre demandant de mettre à jour...
c'est sans doute qu'il y a un bouton qui est lié à une macro appartenant
à ton fichier original... tu fermes la fenêtre. Observe que le clignotement
de l'image est absent...

J'ai nettoyé un peu le code du module1 et de la feuille module Clients.
Il se peut que tu doives effectuer des corrections... je ne sais pas trop
à quoi sert ce code... cela se veut un exemple.

J'ai modifié légèrement le code du module de classe et celui du
ThisWorkbook.

À toi d'adapter!


MichD
---------------------------------------------------------------
"MichD" a écrit dans le message de groupe de discussion :
l6jfn1$vs4$

Regarde cette version, cela semble un peu mieux!
http://cjoint.com/?CKuxUcyrjXL

Pourquoi avoir créé plusieurs groupes dans la feuille "fournisseurs" ?

Je suis étonné de voir autant de scintillement à l'écran?
Moi, je n'ai pas regardé tout le code... tu as une explication.

Au sujet de la perte de focus, cela semble plutôt que le curseur
a tendance à se placer à l'extrême gauche au-delà de la marge
prévue par défaut dans le Textbox, ce qui le rend "invisible".


MichD
---------------------------------------------------------------
Avatar
JP
Bonjour Denis,

Désolé de ne repondre que seulement.
Je savais que je devrais placer ou des application.screenupdating ou des ap plication.enableevents.
J'attends souvent la fin de la programmation pour les mettre en place.
En revanche une remarque que tu as faite sur la protection des feuilles m'a interpellée.
On en apprend tous les jours et les forums pour ça sont assez sympas.
Je viens de le mettre en place sur mon projet. C'est cool et en plus la tai lle du fichier s'en trouve diminuée.
Merci.
JP
Avatar
MichD
| Je savais que je devrais placer ou des
| application.screenupdating ou des application.enableevents.

*** Je me demande si ce scintillement de l'écran n'est pas à la
source du fait que le curseur devient non visible dans
certains textbox!

MichD
---------------------------------------------------------------
1 2 3 4