-
Le comportement des listes déroulantes, qui se détachent de leur ComboBox lorsqu'on utilise la roulette de la souris, n'est pas une chose que l'on peut aisément modifier en VBA.
C'est le modèle objet du contrôle qui est en cause, et vouloir corriger le problème n'aurait pas de sens : si les limitations d'Excel et du VBA vous empêchent de répondre à un besoin, c'est qu'Excel n'est pas le bon outil pour faire ce que vous voulez faire...
Comme dit ici par clementmarcotte (et un nombre incalculable de fois sur tous les forums Excel) : pour gérer une base de données, mieux vaut utiliser un gestionnaire de base de données...
Si vous souhaitez néanmoins poursuivre avec Excel (les besoins que vous avez exprimés jusqu'ici sont tout à fait gérables avec Excel), je ne puis que vous conseiller une profonde refonte de votre solution.
En particulier :
- l'utilisation d'une UserForm règlerait de façon immédiate vos problèmes de mises à jour des contrôles
- gérer les entrées utilisateur via l'événement LostFocus est peu ergonomique (connaissez-vous un seul logiciel qui vous demande de sortir d'une combobox pour prendre en compte l choix que vous y avez fait ?)
- l'utilisation d'un contrôle TextBox laisse entendre que l'utilisateur peut entrer du texte manuellement ; est-ce bien le cas ici ?
La liste est bien sûr loin d'être exhaustive...
Cdt
-
Ca y est j'ai trouvé !
J'active le TexteBox et le Combobox dans la macro de recherche
Puis modifie les valeurs dans les _GotFocus
-
Et pour le Scrolling aussi j'ai réussi :
Dans les GotFocus je mets un Me.scrollarea=Range("A1") et dans les LostFocus un Me.scrollarea="" (j'en avais oublié certain)