XL 2013 (RESOLU) Infobulle sur Images sans toucher leurs Macro

chaelie2015

XLDnaute Accro
Bonjour Forum
Dans une feuille, j'ai deux images nommées BoutonPlus et BoutonMoins auxquelles des macros sont déjà attribuées. Mon objectif est d'afficher automatiquement une infobulle lorsque je survole ces deux boutons, sans pour autant remplacer les macros qui leur sont attribuées. Par exemple, avant de cliquer sur l'image nommée BoutonPlus, une infobulle s'affiche avec le message : 'Cliquez ici pour ajouter un autre motif'."
Merci par avance
 

patricktoulon

XLDnaute Barbatruc
bonsoir
perso même si ça a l'air intéressant je la trouve absurde cette solution
utiliser 2 controls activx pour avoir un event move
alors que les activex commandbutton l'ont
a utiliser des activX autant se passer des formes automatiques
et qui puis est on met un commentaire dans la cellule de droite que l'on affiche au move
sachant que l'on rendre un commentaire avec une forme d'infobulle tout joli tout beau

d'autant plus que la plus pars du temps quand on se sert de shapes pour faire des boutons
c'est que l'on ne veux pas d'activX

edit :et j'oubliais en plus cette astuce est incomplète car l'astuce c'est pas tout a fait ça
en l'état elle a un énorme défaut
essaie de passer un peu vite avec la souris tu va voir ton infobule reste affichée si tu sors trop vite du bouton
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
une astuce plus simple mais qui a le même défaut

un bouton activeX et un commentaire dans la cellule topleftcell du bouton
tu force l'affichage de ton commentaire tu le positionne et tu le recache
voila avec le code qui suit tu a un vrai infobulle
demo.gif


VB:
Private Sub monbouton_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    With ActiveSheet.Shapes("monbouton")

        If X > 4 And X < .Width -4 Then
            If Y > 3 And Y < .Height - 4 Then
                .TopLeftCell.Comment.Visible = True
            Else
                .TopLeftCell.Comment.Visible = False
            End If
        Else
            .TopLeftCell.Comment.Visible = False
        End If
    End With

End Sub
 

job75

XLDnaute Barbatruc
Avec un lien sur chaque bouton :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [C4,F4]) Is Nothing Then [A1].Select
If Not Intersect(Target, [C4]) Is Nothing Then BoutonPlus
If Not Intersect(Target, [F4]) Is Nothing Then BoutonMoins
End Sub

Sub BoutonPlus()
MsgBox "Bonjour"
End Sub

Sub BoutonMoins()
MsgBox "Au revoir"
End Sub
A+
 

Pièces jointes

  • Classeur(2).xlsm
    17.9 KB · Affichages: 33
Dernière édition:

Statistiques des forums

Discussions
315 091
Messages
2 116 110
Membres
112 662
dernier inscrit
lou75