Info-bulle pour une image (Microsoft Excel)
Eddie a ajouté une petite image graphique à une feuille de calcul et lié une macro à l’image. Lorsque vous cliquez sur l’image, la macro est exécutée. Eddie se demande s’il est possible d’ajouter une étiquette ou un commentaire à l’image de sorte que lorsqu’un utilisateur passe le pointeur de la souris sur l’image, l’étiquette / le commentaire apparaît et indique à l’utilisateur ce que fait la macro.
Vous pourriez d’abord penser que vous pourriez ajouter une info-bulle à l’image, mais cela ne peut être fait que si vous lui attribuez un lien hypertexte. L’ajout du lien hypertexte (et de l’info-bulle) est assez simple, mais vous constaterez que le lien hypertexte a la priorité sur la macro, ce qui l’empêche de s’exécuter.
Cela signifie que vous devez rechercher d’autres moyens de résoudre le problème.
Malheureusement, il n’y a pas de moyen simple de créer ce type d’info-bulle, mais il existe plusieurs façons d’aborder la tâche. Une chose que vous pouvez faire est d’ajouter un bouton de commande à la feuille de calcul, puis d’affecter l’image au bouton. L’image entière sert alors de bouton. Lorsque vous cliquez sur le bouton, il exécute le gestionnaire d’événements CommandButton1_Click (en supposant que vous utilisez le nom par défaut du bouton de commande).
Ensuite, vous devez créer une zone de texte qui ressemble à une info-bulle. En fait, la zone de texte vous donne plus de latitude qu’avec une info-bulle régulière, car elle peut être formatée de la manière que vous souhaitez et elle peut contenir n’importe quel texte explicatif que vous souhaitez. Tout ce que vous devez faire est de vous assurer que la zone de texte reçoit un nom unique, tel que « MyShape ». (Vous attribuez un nom à la zone de texte en la sélectionnant, puis en modifiant le nom dans la zone Nom dans le coin supérieur gauche de la zone de feuille de calcul.)
Une fois le bouton de commande et la zone de texte en place, cliquez avec le bouton droit sur le bouton de commande et choisissez d’afficher la fenêtre de code pour le bouton de commande. Ensuite, ajoutez le code suivant à la fenêtre de code:
Private Sub CommandButton1_Click() 'Call your regular macro here Hide_Shape End Sub
Private Sub CommandButton1_MouseMove( _ ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) Display_and_Hide_Shape End Sub
C’est le gestionnaire d’événements Click que vous devrez modifier pour appeler votre code de macro normal. Le code MouseMove est exécuté lorsque la souris est déplacée sur le bouton de commande. Dans ce cas, le code affiche la zone de texte que vous avez créée.
Ensuite, insérez les macros suivantes dans un module de macro standard. Ces deux macros affichent et masquent la forme de zone de texte que vous avez créée. Notez que la première macro utilise la méthode OnTime pour masquer automatiquement la forme deux secondes après son affichage initial.
Sub Display_and_Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = True ' adjust time Application.OnTime Now + TimeValue("00:00:02"), "Hide_Shape" End Sub
Sub Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = False End Sub
Une fois toutes les macros en place, déplacez simplement le pointeur de la souris sur l’image du bouton de commande. La zone de texte doit disparaître deux secondes plus tard, pour réapparaître lorsque vous déplacez à nouveau la souris sur l’image.
Une autre approche consiste à incorporer l’image dans un objet de graphique, à nommer l’image en utilisant le texte que vous souhaitez voir apparaître dans l’info-bulle, puis à affecter la macro à l’objet de graphique. Cela peut sembler un peu déroutant, mais c’est relativement facile à faire en suivant ces étapes générales:
-
Créez un objet de graphique vide. Vous pouvez le faire en sélectionnant simplement une cellule vide, en choisissant d’insérer un graphique et en cliquant immédiatement sur le bouton Terminer. Le graphique ne contient rien, c’est pourquoi il s’agit d’un « objet de graphique vierge ».
-
Ajoutez ensuite l’image à l’objet graphique. Copiez simplement l’image dans le Presse-papiers, puis sélectionnez l’objet de graphique vide (vous l’avez créé à l’étape 1) et collez le contenu du Presse-papiers.
-
Ajustez la taille de l’objet graphique et de l’image dans l’objet graphique afin qu’ils représentent vos besoins.
-
Sélectionnez l’image dans l’objet graphique, puis attribuez un nom à l’image en modifiant ce qui se trouve dans la zone Nom dans le coin supérieur gauche de la zone de feuille de calcul. Ce nom doit être le texte que vous souhaitez afficher comme info-bulle.
-
Attribuez maintenant votre macro à l’objet de graphique (et non à l’image dans l’objet de graphique) en cliquant avec le bouton droit sur l’objet de graphique et en choisissant Affecter une macro.
C’est ça. Désormais, lorsque vous déplacez le pointeur de la souris sur l’image, le nom de l’image apparaît sous la forme d’une info-bulle et si vous cliquez, la macro affectée à l’objet graphique est exécutée.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (724) s’applique à Microsoft Excel 2007, 2010 et 2013. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
lien: / excel-ScreenTip_for_an_Image [Info-bulle pour une image]
.