Afficher un icone au passage de la souris VBA

luluaup Messages postés 2 Statut Membre -  
 luluaup -
Bonjour à tous,

Je suis en train de créer un fichier pour faciliter l'utilisation de plusieurs personnes qui ont besoin d'avoir accés aux mêmes données. Sur ma page d'accueil, je voudrais faire des boutons qui lorsque l'on passe la souris s'écartent un peu et affichent une légende et une image.

je ne suis pas trés douée en VBA, je commence juste et apprends sur le tas. je crois que j'ai réussi à faire bouger le bouton, en tout cas ca marche à peu prés proprement mais mon code pour afficher les images quand je passe la souris ne marche pas...

Est ce que quelqu'un pourrait m'éclairer sur la ou je me trompe?

merci

Je vous met un fichier en pièce jointe pour que ce osit plus clair, pour l'instant je n'ai fait que pour le premier bouton le vert appelé "data".

https://www.cjoint.com/c/HBujIIU2PJm

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    0
    1. luluaup Messages postés 2 Statut Membre
       
      Bonjour,
      merci pour votre réponse mais je ne le veux pas sous forme de commentaire et surtout ce n'est pas aupassage d'une cellule mais sur un bouton. le but est de donner l'info aux gens qui vont cliquer sur ce bouton
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Voilà un exemple à adapter:

      https://www.cjoint.com/c/HBvrfQeK7yQ

      @ Le Pivert
      0
    3. luluaup
       
      Bonjour,
      merci pour toutes ces infos, j'ai réussi à créer mon code, il marche, mon seul problème c'est qu'il marche quand je lance la macro je n'arrive pas à le mettre au pasage de la souris même en mettant avant

      Private Sub Data_Mousemove(ByVal Button As Integer, ByVal shift As Integer, ByVal x As Single, ByVal y As Single)


      Je suppose que mon erreur vient dans la facon de nommer ma macro car elle n'apparait pas dans ma liste déroulante mais je ne comprends pas pourquoi

      Sub animation()

      Sheets("HOME").Shapes("data").Left = 426

      Range("A1").Select

      secondes = 0.05

      'boucle dans un sens

      For I = 2 To 16 Step 2 ' step pour vitesse

      timer_avant = Timer

      Do While Timer < timer_avant + secondes
      DoEvents

      Loop
      ActiveWorkbook.ActiveSheet.Shapes("add data").Visible = True
      ActiveWorkbook.ActiveSheet.Shapes("Pictdata").Visible = True

      Sheets("HOME").Shapes("data").Left = 442 - I

      Sheets("HOME").Shapes("data").Left = 442

      Next

      'Boucle dans l'autre sens

      For I = 2 To 16 Step 2

      timer_avant = Timer

      Do While Timer < timer_avant + secondes
      DoEvents

      Loop

      ActiveWorkbook.ActiveSheet.Shapes("add data").Visible = False
      ActiveWorkbook.ActiveSheet.Shapes("Pictdata").Visible = False

      Sheets("HOME").Shapes("data").Left = 442 + I

      Sheets("HOME").Shapes("data").Left = 426
      Next

      End Sub

      merci
      0
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      L'évenement Mousemove ne fonctionne que pour les controls activeX

      Voici une autre manière de faire:


      https://www.cjoint.com/c/HBwlizTdaNQ


      @+ Le Pivert
      0