MouseUp / relâchement du bouton de la souris

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

jedemenage

XLDnaute Nouveau
Bonjour à toutes et à tous.

Je souhaite pouvoir détecter un "MouseUp" à la sortie d'une listbox.

Dans l'exemple joint (MouseUpTest_1.xls) ---Merci Thierry pour le fichier "Contacts" dont j'ai repris tout ou partie du code---, je voudrais "cliquer" gauche en maintenant enfoncé le bouton dans la Listbox, choisir une ligne en montant ou descendant dans la Listbox, toujours en maintenant le bouton enfoncé, et, une fois le bouton relâché sur le nom de mon choix, faire apparaître le Commandbutton1.

J'ai essayé en détournant (je voudrais faire la même chose dans une ListBox) l'exemple de Tototiti ([VBA] Treeview et MouseUp - Excel Downloads Forums) également joint(Classeur_MouseUp.xls), mais je n'arrive à rien.

Auriez-vous une idée, une piste ?

Merci d'avance, et bonne journée.
 

Pièces jointes

Re : MouseUp / relâchement du bouton de la souris

Re-bonjour,

🙂 Je suis super content : j'ai trouvé la solution après des heures de butinage sur le Web(voir fichier annexe, pour celles et ceux que cela intéresserait).

🙁 Je suis hyper déçu : finalement, ça ne répond pas à mes besoins spécifiques tel quel. Il va me falloir quelques heures encore pour tâtonner dans mon code. Mais je l'aurai, un jour, je l'aurai !


Bonne fin de journée.
 

Pièces jointes

Re : MouseUp / relâchement du bouton de la souris

Bonjour,
Comprends pas la finalité mais bon...
Code:
Option Explicit
Dim mUp As Boolean

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then mUp = True

End Sub

Private Sub Listbox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If mUp Then CommandButton1.Visible = True

End Sub
A+
kjin
 
Re : MouseUp / relâchement du bouton de la souris

Merci, Kjin et Sousou.

Pour la difficulté :
je n'avais jamais, avant la semaine dernière, tapé la moindre ligne de code, et encore moins appris un quelconque langage de programmation : je découvre avec beaucoup de plaisirs et apprends avec humilité. Le seul repère que j'ai, c'est le présent forum. Alors, pour moi, les choses qui vous paraissent basiques sont souvent des problèmes (presque) insurmontables. 🙁


Pour la finalité :
la sélection d'une valeur dans une listbox affiche les données correspondantes dans des textbox. Un clic sur un bouton de mise jour permet leur édition. MAIS, pour ne pas perturber la mise à jour en cours en provoquant des "update" intempestifs des textbox, la listbox doit être bloquée (enabled = True).

Si, à la sélection d'un élément dans la Listbox, le processus bloque immédiatement la listbox et affiche les données correspondantes, et que je n'ai pas bien visé, je dois quitter (sortir du mode "mise à jour") pour relancer tout le process.

Avec le mouseup, je voulais offrir à l'utilisateur la possibilité de cliquer et maintenir le bouton gauche enfoncé, puis monter ou descendre jusqu'à l'élément souhaité et, au relâchement seulement, bloquer la Listbox.


🙂 Et je suis super content, parce que tout fonctionne enfin comme je le voulais.
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
465
Retour