XL 2016 Focus sur contrôle hors Frame dans UserForm

Lorenzini

XLDnaute Occasionnel
Bonjour,

J'ai créé un formulaire dans lequel j'ai placé plusieurs contrôles.
Pour être plus précis : il y'a un Frame dans lequel j'ai placé tous mes contrôles SAUF 2 boutons de commande (Annuler et Valider...qui sont dans le fond de ce formulaire).
Au fur et à mesure des saisies, je valide le passage d'un contrôle à l'autre en pressant la touche [Entrée] ; jusque-là, tout va bien.
Sauf que : en arrivant dans le DERNIER contrôle (qui est un TextBox), je souhaitais (par facilité pour les futurs utilisateurs) que la validation des données saisies dans ce contrôle me place le focus sur le bouton "Valider" (qui est en dehors du Frame).
Je pensais qu'il me suffirait de placer un .SetFocus, mais déjà là, je me suis demandé (et j'ai testé) : où placer cette commande ?
dans le TextBox_Exit ? ou le CommandButton3_Enter (le fameux bouton de commande rehaussé d'un '+' qui prend le focus à la suite ET QUE JE NE VEUX PAS QU'IL LE PRENNE !!)
Il m'en aura fait perdre mon français !! mais vous aurez compris.
Le problème en faisant çà, c'est qu'une fois que j'ai validé par [Entrée], ou le bouton (CommandButton3 n'est plus cliquable) ou plus aucun autre contrôle n'est modifiable si je choisi le TextBox_Exit...
Ce problème (si si, pour moi, c'en est un alors que je ne l'aurais jamais cru !) est devenu carrément un casse-tête...
Y'a-t-il une solution pour que le bouton Valider prenne le focus après la saisie du dernier contrôle TextBox, sans que celà ne bloque tout ?

J'ai aussi tenté de changer l'ordre des tabulations, de remplacer le Frame par une Image (mais là, j'ai eu d'autres soucis... car je joue avec des si untel contrôle pas rempli ; l'autre invisible... et du coup, en passant de l'un à l'autre, Excel me saute des contrôles (les invisibles qui sont redevenus visibles)...

Enfin bref, j'espère que quelqu'un pourra m'aider ?
 

Pièces jointes

  • Question_01.jpg
    Question_01.jpg
    198.1 KB · Affichages: 18
  • LOREO3_Excel_Download.xlsm
    983 KB · Affichages: 1
Dernière édition:

Oneida

XLDnaute Impliqué
Re,
Ca ne repond pas a la question...

En attendant, j'ai mis un on error resume next en plus car pour une raison inconnue sans y a une erreur bien que le focus soit active!!
 

Pièces jointes

  • LOREO3_Excel_Download.xlsm
    987.1 KB · Affichages: 2
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour
Suggestion: mettez à True la propriété Default d'un CommandButton pour qu'il soit activé par la touche Entrée quel que soit le contrôle actif.
Vous pouvez sinon aussi mettre à True sa propriété Cancel pour qu'il soit activé par la touche Echap, ou aussi spécifier une lettre dans Accelerator pour qu'il le soit par Alt + cette lettre.
Remarque: dans tous les cas sa propriété Enabled doit aussi être à True pour que ça marche. La mettre à False, donc, dans le code, pour l'inhiber.
 

Lorenzini

XLDnaute Occasionnel
Re,
Ca ne repond pas a la question...

En attendant, j'ai mis un on error resume next en plus car pour une raison inconnue sans y a une erreur bien que le focus soit active!!
Il y'a une erreur car le CommandButton2 (le 'Valider') a sa propriété sur Enable = True UNIQUEMENT si les 2 ComboBox (les 2 premiers) sont remplis.
Comment prendrait-il le focus si un des 2 est vide --> la voilà l'erreur.
Merci quand même.
 

Lorenzini

XLDnaute Occasionnel
Bonjour
Suggestion: mettez à True la propriété Default d'un CommandButton pour qu'il soit activé par la touche Entrée quel que soit le contrôle actif.
Vous pouvez sinon aussi mettre à True sa propriété Cancel pour qu'il soit activé par la touche Echap, ou aussi spécifier une lettre dans Accelerator pour qu'il le soit par Alt + cette lettre.
Remarque: dans tous les cas sa propriété Enabled doit aussi être à True pour que ça marche. La mettre à False, donc, dans le code, pour l'inhiber.
Bonjour Dranreb 😊,
Je m'en vais tester de ce pas vos idées...
Merci ! 👍🙂
 

Lorenzini

XLDnaute Occasionnel
Bonsoir
  1. tu agrandi ta frame
  2. tu met les boutons annuler et valider dans ta frame
  3. et tu donne a la propriété TabIndex du commandbutton2(valider ) la valeur 5
terminé
ça aurait été sympa de donner le mot de passe de la feuille
mais bon
Bonjour Patrick,

Effectivement, j'aurais pu (honnêtement, je n'y ai pas pensé tellement je suis focalisé sur ce problème)...
schumacher2105 = le sésame
ma valeur 5 ? ...ok... euh... je ne connaissais pas...
Merci Patrick 🙂
 

patricktoulon

XLDnaute Barbatruc
re
1694459388829.png
 

Lorenzini

XLDnaute Occasionnel
re
il va de soit que toute ces bêtises tu me les vire hein ;)
aussi bien dans le demoform que dans l'userform menu
Regarde la pièce jointe 1178462
oui m'sieur 😅
ah j'avoue... je suis loin du compte ; je veux dire de votre niveau à toi, Dranreb et bien d'autres... LOL
J'ai tout appris sur le tas et ben... voui, je suis trèèèèès très loin de la beauté de vos chefs-d'oeuvres de programmation, mais bon...
J'essaye d'avancer comme je peux 😁
 

Discussions similaires

Réponses
5
Affichages
293
Réponses
8
Affichages
370

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83