Teste au survol d'une icones

Bonjour;

Est possible en excel ou VBA d'afficher un texte au survol de la souris sur une icones? Comme dans d'autres logiciels de programmation ce qu'on appel un HINT. merci à plus

Oui, ça s'appelle une infobulle.

TonObjet.Caption = "Ton texte"

Bonjour;

Salut à toi migou, merci pour ta réponse, ce ci est une propriété si j'ai bien compris pour un bouton, mais dans mon classeur c'est des icônes au format png aux qu'elles j'affecte des macro (pour l'esthétique), je joins le classeur exemple, merci à plus.

452essai-info-bulle.xlsx (20.57 Ko)

Bonne question, il semble qu'il ne soit pas possible de le faire sur une image sans ruser.

Bonsoir,

je reviens après une petie absence sur mon problème et je joins le classeur, mais ai-je rater quelques chose au passage? merci de regarder le classeur en pj, à plus

220classeur1.xlsm (18.21 Ko)

Bonsoir;

je n'arive à trouver ce ci ControlTipText, dans les propriétés (TextBox, Label, ComboBox, Image...), je suis sur Excel 2010, merci à tous et à plus

Bonjour le fil

Hosni a écrit :

Bonsoir,

je reviens après une petie absence sur mon problème et je joins le classeur, mais ai-je rater quelques chose au passage? merci de regarder le classeur en pj, à plus

Oui tu as rater la modification du nom de ton image

Hosni a écrit :

je n'arive à trouver ce ci ControlTipText, dans les propriétés (TextBox, Label, ComboBox, Image...), je suis sur Excel 2010, merci à tous et à plus

C'est normal, ça n'existe pas sur un contrôle ajouté directement sur une feuille Excel

Ca ne peut se faire que depuis un USF

Sinon, d'après le bout de code que tu avais, voir fichier ci-joint

A+

464hosni-classeur1.xlsm (20.55 Ko)

Bonsoir;

Merci à toi BrunoM45, c'est beau ta réponse, mais comment joindre l'image au bouton ? un peu d'explication svp, mes excuses je ne trop VBA, merci, à plus.

Re,

Désolé de ne pas avoir été explicite

En VBA on fait de la programmation orientée objet, dont chaque élément est un objet que l'on peut utiliser

J'ai donc créé une forme automatique, que j'ai nommé "InfoImage", ton image quant à elle se nomme "Image2"

Lorsque tu vas dans l'éditeur VBA, dans la partie code, tu peux choisir dans la liste d'objets présents,

l'objet "Image2", ensuite dans les évènement tu sélectionnes "MouseMove"

Ce qui va te créer la sub

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

Dans cette sub, tu mets alors le code que tu avais

  If X < 10 Or X > Image2.Width - 10 Or Y < 10 Or Y > Image2.Height - 10 Then
    ActiveSheet.Shapes("InfoImage").Visible = False
  Else
    ActiveSheet.Shapes("InfoImage").Visible = True
  End If

En prenant bien soin de modifier le nom de tes objets

Est-ce plus clair !?

A+

Bonjour à Tous;

Salut à toi BrunoM45; je te remercie pour ton attention et aussi pour ta pédagogie; jusque là ça va bien, juste un dernier détail, le shape que toi tu as nommé "InfoImage", j'en ai créer un 2eme mais à quel niveau je peu le nommé (InfoImage2 par exemple) pour pouvoir le relier à mon bouton, merci, à plus.

Re,

Il faut sélectionner la forme et saisir le nom dans la zone de nommage (voir image)

A+

screenshot185

Bonjour!

C'était évident, j'en fais chaque jour des noms, je suis passer totalement à coté. Merci beaucoup BrunoM45, je viens de terminer, cela marche comme voulu. Bon courage.

Bonjour, quand je rajoute un forme ou image je la retrouve pas dans VBA objet

Comment la déclare t'on?

Merci

Hello,

Passe par l'enregistreur de macro, tu sélectionne ton objet, t'arrête l'enregistreur et dans la macro enregistrée t'aura l'objet :

ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select

bye

Il doit me manquer quelque chose

rrrr

tiens voilà ça marche

non il ne se passe rien sur le carré bleu

Normal, j'ai modifié pour prendre l'icone infoimage, si tu veux le carré, tu remplace dans ActiveSheet.Shapes.Range(Array("InfoImage")).Visible :

InfoImage

par :

rectangle2

Ca j'y arrive mais je veux le reproduire, Avec mon icone rouge, je veux faire apparaitre le texte dessus en le survolant

Ok voilà.

En fait, il faut créer un bouton contrôle image > Puis dans les propriétés de l'objet tu fais insertion de ton logo > Dans le dévelopeur dans ta feuille > Là où il y'a écrit Générale dans la barre, ta les différents objets de ta feuille, à droite t'a des événements pour cet objet.

Voir PJ.

Sinon pour quelque chose qui sorte de l'ordinaire il y'à ça :

Private Sub logo_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Dim DEGREE_ROTATION As Double
  Dim smile As Double
  DEGREE_ROTATION = 0
  On Error Resume Next 'Gestion des erreur par si erreur passer et continuer
  If X < 10 Or X > logo.Width - 10 Or Y < 10 Or Y > logo.Height - 10 Then
    ActiveSheet.Shapes.Range(Array("ZoneTexte 4")).Visible = False
    ActiveSheet.Shapes.Range(Array("TextBox 4")).ThreeD.RotationY = 0
  Else
    ActiveSheet.Shapes.Range(Array("ZoneTexte 4")).Visible = True
               ActiveSheet.Shapes.AddShape(msoShapeSmileyFace, 542.4, 14.4, 160.8, 145.2).Select
               Selection.ShapeRange.Name = "smiletroll"
               Selection.Name = "smiletroll"
               Selection.ShapeRange.ShapeStyle = msoShapeStylePreset38
               With Selection.ShapeRange.Fill
                 .Visible = msoTrue
                 .ForeColor.RGB = RGB(255, 255, 0)
                 .Transparency = 0
                 .Solid
               End With
               With Selection.ShapeRange.Line
                 .Visible = msoTrue
                 .ForeColor.ObjectThemeColor = msoThemeColorText1
                 .ForeColor.TintAndShade = 0
                 .ForeColor.Brightness = 0
                 .Transparency = 0
               End With
               With Selection.ShapeRange.Line
                 .Visible = msoTrue
                 .Weight = 2.25
               End With
               ActiveSheet.Range("a1").Select
      Do While ActiveSheet.Shapes.Range(Array("ZoneTexte 4")).Visible = True
        DoEvents 'Raffraichir l'application pour y garder la main
        If DEGREE_ROTATION >= 359 Then
        ActiveSheet.Shapes.Range(Array("TextBox 4")).ThreeD.RotationY = 0
        Exit Do
         End If
        ActiveSheet.Shapes.Range(Array("TextBox 4")).ThreeD.RotationY = DEGREE_ROTATION
        DEGREE_ROTATION = DEGREE_ROTATION + 1
      Loop
  End If
  ActiveSheet.Shapes.Range(Array("smiletroll")).Delete
  ActiveSheet.Shapes.Range(Array("ZoneTexte 4")).Visible = False
End Sub
Rechercher des sujets similaires à "teste survol icones"