Bonjour,
j'ai un userform que je souhaite afficher quand je clique dessus mais quand je relâche le bouton mon formulaire ce ferme...
pour l'instant j'ai bidouiller ça ... mais ça ne marche pas
VB:
Sub formulaire3()
UserForm3.Show
If CommandButton_Click = False Then
Unload UserForm3
End If
End Sub
Bonjour.
Les évènements MouseDown et MouseUp existent pour des objets représentant d'autres choses que les UserForm.
Mais en fait je ne comprends maintenant plus du tout ce que vous voulez.
j'ai une image transformé en bouton ( je lui ai affecté la macro formulaire3 )
ce formulaire est juste une aide visuel je souhaite que temps que je maintient mon clic souris dessus le formulaire s'affiche et des que je relache le clic le formulaire se ferme
Ça marche probablement avec de nombreux contrôles pourvu qu'ils soient de type ActiveX et non pas formulaire.
Mettez le en place par menu Developpeur, groupe Contrôle, commande Insérer.
À la différence des objets de formulaire on ne peut pas leur affecter de macro. Par contre ils déclenchent des évènements dans le module de l'objet représentant l'entité qui les porte.
Par exemple dans le module de l'objet Worksheet représentant la feuille Excel portant un contrôle nommé Image1 :
VB:
Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm4.Show vbModeless
End Sub
Private Sub Image1_Click()
Unload UserForm4
End Sub