XL 2019 Molette Scroll sur ListBox

  • Initiateur de la discussion Initiateur de la discussion gg13
  • 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 !

gg13

XLDnaute Occasionnel
Bonjour,

Je commence un nouveau projet pour lequel je devrai utiliser des ListBox et ComboBox.
Ces listes seront longues et je voudrais utiliser le scroll de la molette plutôt que les ascenseurs.

Après renseignement sur le site j’ai voulu utiliser ce post :
Mouse Wheel Hook (faire défiler le contenu d'une combobox/listbox avec la roulette)

Je galère depuis 2 jours et malgré plusieurs essais je n’arrive pas à intégrer ces différentes macros, plusieurs messages d’erreurs ….
Je ne comprends pas tout.
Si vous pouvez m’aider un peu je vous remercie d’avance.

Je joins le fichier exemple avec les listBox .

GG13
 

Pièces jointes

Re

@Dudu2
Tu as vu le lien dans mon précédent message ?
Jm, dans ton lien on parle de la version

Version 2201 Build 16.0.14827.20198​

Chez moi, j'ai la version :
1667125769491.png

Certainement pour ça que je ne plante pas...
🙂
 
@Staple1600,
Bien sûr je l'ai vu mais je n'ai pas compris.
Use Win64 instead of VBA7 and Lenght is a Long, not LongPtr.
Non pour "Use Win64 instead of VBA7", sauf exception comme je l'ai indiqué avant.
VBA7 c'est pour différencier d'avec VBA6 (2007 et en dessous). Perso j'ignore VBA7 car je considère par défaut. Je ne fais plus les déclarations pour VBA6.

A partir de VBA7, ça accepte PtrSafe et LongPtr qui donnent la souplesse 64bits/32Bits. C'est l'intention.

Lenght is a Long, not LongPtr , je ne sais pas de quoi tu parles. Du dernier argument du Copymemory?
Alors je dirais que c'est bien possible, mais c'est pas sûr car LongPtr n'est pas propre aux pointeurs.
 
Alors que la réponse dit qu'il faut le déclarer en Long
Mais d'où vient cette réponse ? Je n'ai pas compris. Quelle légitimité par rapport au document MicroSoft téléchargeable ici:
Qui dit:
Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongPtr)

Un LongPtr amène une souplesse (voir sa définition) qui en fait automatiquement un Long en 32 bits et un LonLong en 64 bits. Ce n'est absolument pas lié strictement à un Handle. C'est un type de donnée.
 
Tu me fais penser qu'il faut que je fasse aussi quelques courses aussi
1667129685266.gif
😉
Et puis je vais essayer de faire fonctionner ce code de Hook (un truc abscons qui vient d'Internet) avec un Copymemory correctement déclaré pour éviter les crash du type de ce que tu as connu.
 
- 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
Retour