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

Mouse Wheel Hook (faire défiler le contenu d'une combobox/listbox avec la roulette)

  • Initiateur de la discussion Initiateur de la discussion Compte Supprimé 979
  • Date de début Date de début

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 !

Bonjour Danreb,
Effectivement, ces arguments sont des constantes ayant une portée Projet. Intéressant.
Ce n'est pas aussi pratique que des constantes Module qui auraient la même portée mais c'est déjà ça.
 

Pièces jointes

Dernière édition:
Pour info, j'ai republié les 2 fichiers V3 du Scroll ComboBox et ListBox dans le message #88 en réduisant complètement la spécificité du Module_HookMouseV3 qui reçoit désormais en paramètre optionnel le nom de la fonction de détection de position de souris par rapport à l'objet (ainsi que la fonction associée accessoire de trace) et reste donc utilisable pour toutes les situations.
 
J'ai republié le fichier VBA Scroll Souris en ListBox V0.xlsm dans le message #88 car le module Module_PixelsToPointsToPixelsV0 qu'il contient (bien utile en d'autres circonstances) contenait un bug (et oui ça m'arrive !) qui m'a bien surpris...

L'instruction If TypeOf <Object> Is UserForm se gamelle joyeusement si aucun UserForm n'est défini dans le Projet. Donc j'ai couvert cette situation.

J'ai aussi utilisé ce même Module_PixelsToPointsToPixelsV0 par exemple pour gérer le placement d'un MsgBox avec 2 fonctions MsgBoxPos() et MsgBoxPosOnObject() avec divers paramètres de positionnement. Je le joins pour illustrer l'affaire.

Edit: Tant qu'à faire autant ajouter le positionnement UserForm sur la même base...
 

Pièces jointes

Dernière édition:
Salut Dudu2, bonjour à tous,

Sauf que ta version ne fonctionne pas sur Office 2016 64bit 😕



J'ai republié une version qui semble fonctionner correctement en simplifiant le code

@voir
 
Bonjour BrunoM45,
Merci pour l'info.
Je n'ai pas d'environnement Excel 64 bits pour tester. En l'occurrence, je suppose qu'il faut déclarer plHooking en LongPtr.
Ce que j'ai fait en republiant les fichiers de Scroll ComboBox et ListBox en Ce lien n'existe plus en espérant que cela corrige l'incompatibilié de type en mode 64bits.
Cordialement.
 
Bonjour à tous !

J'étais très intéressé par cette fonctionnalité, évidemment...
Malheureusement, j'ai testé tous les classeurs téléchargeables, et tous font crasher Excel quelques secondes après le survol du combo...
De plus, juste avant le crash, le mouvement du pointeur est énormément ralenti et sacadé.

Pour info, je suis sous W10 64 Pro et Office 365 Business (dont je viens de m'apercevoir avec surprise et à l'occasion de ce problème que c'est une version 64bits).

Si des pistes existent 😉

Merci en tout cas pour ce partage qui, même s'il n'a pas fonctionné pour moi, s'avère d'une grande utilité 😉
 
Bonsoir patricktoulon, je comprends rien à ce que tu dis.
En l'occurrence, je voudrais juste savoir ce qui ferait planter ce code dans son environnement, par simple curiosité.
 
les api de hooking sont sensibles en 64
ta mollette fait rouler la combo par 3/4 item a la fois ca fait beaucoup
je vais regarder les déclarations
 
Bonjour, je me demandai si c'était possible de le faire pour une listbox et avec excel 2016 en 64 bits.
 
Bonjour,

Voici un fichier que je te propose de tester en 64 bits. J'aimerais aussi savoir si ça fonctionne puisque je suis en 32 bits.
Il contient une méthode originale de détection de la position de la souris par rapport à l'objet (ListBox) qui limite donc à 2 évènements à intercepter pour gérer le scroll.

Maintenant il y a d'autres propositions et notamment celle de patricktoulon qui peut-être t'en fera part.
 

Pièces jointes

Dernière édition:
En effet, ça plante à cause de plusieurs problèmes de compatibilité entre Long et LongPtr.
Faut aussi que je revoie toutes les déclarations des fonctions de l'API Windows et le step de scroll sous 64 bits qui semble plus sensible comme l'a indiqué patricktoulon.
Ceci dit, ces fonctions de Hook récupérées sur le Net et modifiées sont assez absconses et à vérifier sur 64 bits dont hélas je n'ai pas l'environnement pour tester.
 
- 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…