Infos sur bouton de BO cliqué

xlArtur Messages postés 3 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 29 août 2006 - 28 août 2006 à 22:12
xlArtur Messages postés 3 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 29 août 2006 - 29 août 2006 à 20:51
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
28 août 2006 à 22:47
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).
0
xlArtur Messages postés 3 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 29 août 2006
29 août 2006 à 01:40
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. @+
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
29 août 2006 à 11:24
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.
0
xlArtur Messages postés 3 Date d'inscription lundi 28 août 2006 Statut Membre Dernière intervention 29 août 2006
29 août 2006 à 20:51
Bon bah j'ai de la lecture pour ce soir... Merchi
0
Rejoignez-nous