Drag and drop en VBA

ankhn Messages postés 2 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 26 avril 2012 - 10 févr. 2011 à 11:46
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 10 févr. 2011 à 12:58
Bonjour tout le monde,

Je génère dans un userform des labels un peu à la manière de postits.

J'aimerais permettre à l'utilisateur de les déplacer par un glisser-déplacer mais je n'arrive malheureusement pas à ça avec les outils MouseUp, MouseDown et MouseMove.

Pour l'instant mon code ressemble à ceci pour un de mes labels :

Private Sub label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Planning.Label1.Caption = X & ":" & Y
Label1.Left = X
Label1.Top = Y
End Sub


Existe-t-il une fonction Drag and Drop sur excel/vba ?

Peut-on combiner différement ?

Merci d'avance

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 févr. 2011 à 12:58
Bonjour,

je sais que tu as reçu une réponse "tarabiscotée" ailleurs

En voici une fort simple et valable pour tout contrôle subissant le mous_down et le mouse_move :
option Explicit
Dim DbTop, DbLft As Integer


Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  If Button = 1 Then ' si tu veux déplacer avec le bouton gauche (= 2 pour le bouton droit)
    DbTop Y: DbLft X
  End If
End Sub

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 If Button = 1 Then ' si tu veux déplacer avec le bouton gauche (= 2 pour le bouton droit)
    Label1.Move Label1.Left + X - DbLft, Label1.Top + Y - DbTop
  End If
End Sub



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous