Infos sur bouton de BO cliqué

Signaler
Messages postés
3
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
29 août 2006
-
Messages postés
3
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
29 août 2006
-
Bonjour, je voudrais avoir un bouton qui, lorsqu'on clique dessus, donne des infos sur le PROCHAIN bouton sur lequel on cliquera. Donc un bouton comme celui de l'aide windows (avec son "?" à côté de la souris). Ca donnerait qqch comme:
1: Je clique sur mon premier bouton de type "aide"
2: je clique sur n'importe quel bouton des barres d'outils d'Excel
3: ca m'affiche une info sur le bouton cliqué (ex: Debug.Print FaceId ou MsgBox Caption du bouton en question)

Si je cliquais dans une feuille de calcul ca serait pas sorcier, mais je ne trouve pas ce qui permet de récupérer des infos sur un bouton cliqué dans une Barre d'Outils, ca ne me semble pas faisable ni avec la propriété "Caller" ni l'évènement "MouseDown/MouseClick" et cie...

Si la réponse ne parle pas de modules de classe je devrais réussir à comprendre...
Merci d'avance à qui tentera le challenge. Artur

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Capture les événements de la souris (API Windows SetCapture) et récupère le handle de la fenêtre sous la souris (API Windows GetWindowFromPoint), afin de tester quel est le bouton qui a été cliqué. Ne pas oublier de rétablir la capture de la souris par contre ! (ReleaseCapture).
Messages postés
3
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
29 août 2006

Au temps pour moi, après avoir posté ce message sur des forums dédiés à Excel, j'ai pas pensé à spécifier ici que j'étais uniquement dans Excel et son VBEditor. Apparemment les méthodes que tu cites n'y sont malheureusement pas. Donc pour resituer le truc, je cherche à bidouiller ça dans Excel, à l'aide de macros VBA. Mais merci à toi darth admin, d'avoir pris la peine de me répondre. @+
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Les fonctions que je te donne ne sont pas des fonctions standard de VB, mais des fonctions intégrées à Windows, pour les utiliser il faut les déclarer (instruction Declare), renseigne toi sur les fonctions de l'API, comment s'en servir, etc., ca devrait résoudre ton problème.
Note : ces fonctions sont utilisables en VBA.
Messages postés
3
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
29 août 2006

Bon bah j'ai de la lecture pour ce soir... Merchi