Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Qui avait le Focus

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

XanorK

XLDnaute Occasionnel
Bonjour à tous,

Voici ma derniere question de l'année :
J'ai un USF avec une 12aine de Textbox et Combobox et un seul bouton.
J'ai besoin que la sub lancée par le bouton "sache" où était le focus juste avant que le bouton soit Actionné (soit par un Clic, sa Propriété defaut sur True, ou par son accelerator).

Ou autrement dit, quel controle AVAIT le focus avant le bouton ?


Merci de votre aide et bon reveillon si on ne se revoit pas sur ce forum d'ici la 😉



XanorK
 
Re : Qui avait le Focus

Bonsoir Xanork

petit idée au passage, peut être utiliser la propriété "Tag", la valorisant lors d'un click sur un controle, et boucle sur les autres controles pour tester sur quel controle cette propriété était non vide...

bonne soirée
@+
 
Re : Qui avait le Focus

Bonsoir XanorK, Pierrot93, le Forum,

Si tu attribues une valeur False à la propriété TakeFocusOnClick de ton CommandButton, ton TextBox ou ComboBox en cours ne perdra plus le focus par appui sur le dit bouton.
Si tu souhaites quand même connaître le contrôle qui a le focus au moment de cliquer sur le bouton, tu peux l'obtenir comme ça :
Code:
[SIZE=2]    MsgBox ActiveControl.Name[/SIZE]
Cordialement,

Meilleurs Voeux à toutes et tous.
 
Re : Qui avait le Focus

Bonjour Pierrot93, myDearFriend, le Forum,


TakeFocusOnClick n'est pas totalement satisfaisant car, comme son nom l'indique, cela ne fonctionne qu'avec le clic. Pas avec l'accelerator ou la propriété Défault du bouton.

Je m'en suis sorti avec les Tag mais cela été la misere car, d'apres l'explorateur d'objet, findcontrol ne fonctionne qu'avec les commandbars (pas les controls)
il y'a donc fallut que j'ecrive une fonction spécifique :

Code:
Function TrouveRepere()
    If TextBox1.Tag = "Repere" Then FocusPrecedent = 0
    If TextBox2.Tag = "Repere" Then FocusPrecedent = 1
    If Tex....

En tout cas, merci a tous les deux et bon reveillon a tous !



XanorK
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…