Afficher une info bulle sur un bouton

alexandra1978 Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 27 juin 2006 - 27 juin 2006 à 13:51
alexandra1978 Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 27 juin 2006 - 27 juin 2006 à 18:18
Bonjour,

J'ai un petit problème lié à un bouton présent sur une feuille Excel. Il s'git d'un bouton auquel j'ai déjà affecté une macro qui marche bien, mais j'aimerais que lorsque l'on déplace la souris sur ce bouton ( en ne pas appuyant sur la souris) une info bulle avec un message d'aide s'affiche. J'ai essayé de faire cette opération à l'aide de l'événement MouseMove, mais sans succès. La seule chose que j'ai réussi à faire c'est d'afficher un message en cliquant sur le bouton gauche de la souris, mais ce n'est pas de tout ce que je souhaitais à la base. De plus, la macro affectée initialement à ce bouton ne fonctionne plus.

Est-ce que quelqu'un aurait une idée de comment afficher cette info-bulle?

Je vous remercie d'avance pour votre aide.

Alexandra.

7 réponses

domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
27 juin 2006 à 14:27
bonjour

voilà un petit exemple de code
Crée sur ta feuille une étiquette appelée label1, un bouton appelé cmd, normalement ça fonctionne

bon courage !

Private Sub Cmd_Click()
Label1.Visible = False
MsgBox ("coucou")
End Sub

Private Sub Cmd_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'MsgBox (X & " " & Y)
If X > 2 And X < Cmd.Width - 2 And Y > 2 And Y < Cmd.Height - 2 Then
'Label1.Caption = X & " " & Y
Label1.Top = Y
Label1.Left = X + 20
Label1.Visible = True
Else
Label1.Visible = False
End If

End Sub

Private Sub Worksheet_Activate()
Label1.Visible = False
End Sub
0
alexandra1978 Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 15:30
Rebonjour ,

Merci beaucoup pour votre réponse très rapide.

Votre code doit certainement fonctionner, mais j'ai une autre question (un peu idiote, désolée...). J'ai rajouté une étiquette appelée 'label1' et quant au bouton je l'avais déjà. Pour le bouton, Excel m'indique qu'il s'agit de bouton 'Bouton 21' et moi, je lui ai mis comme texte 'Validation'. Mais je pense que le nom avec lequel je dois travailler est un autre (dans votre cas 'Cmd') et je ne sais pas comment faire pour le voir. Quand je clique sur les propriétés du bouton, il m'affiche les propriétés de toute la page. Je pense que cela vient de nom de boutuon qu'Excel ne prend pas en compte le code de votre macro que j'ai rajouté.

Merci d'avance pour votre aide & patience.

Alexandra.
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
27 juin 2006 à 15:50
rebonjour alexandra
Soit il faut remplacer dans mon code cmd par bouton21 (il n'y a sûrement pas d'espace), il faut mettre label1.caption="Validation" ;
soit il faut renommer les objets de ta feuille pour que leur nom corresponde à la macro
Petit conseil en passant si je peux me permettre : évite de garder les noms proposés par excel ; si tu as quinze boutons sur ta feuille, dans ta macro tu vas voir des bouton10_click, bouton48_click et tu ne sauras plus à quel bouton correspond ce code. Ton bouton de validation par exemple, il vaut mieux l'appeler btn_validation... c'est toi qui vois.
N'hésite pas si c'est pas clair
bon courage
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
27 juin 2006 à 16:36
C'est vrai que Microsoft ne s'est pas bien démerdé : pourquoi n'y a t'il pas la propriété ControlTipText comme les boutons du UserForm ?

J'ai pas la version beta de Microsoft 2007 mais j'espère que cela est réglé.

Désolé pour ce laïus, il fallait que je dise ce que j'avais sur le coeur

@ ++

Mortalino
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alexandra1978 Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 16:57
Rebonjour Domsig,

Je sais que j'abuse un peu de votre temps et gentillesse, mais cela ne marche toujours pas. Je dois être vraiment stupide.

J'ai essayé de mettre le code dans un classeur vierge. A ma compréhension, ce code doit être mis dans le code de la page et non dans un module, non?

Et est-ce que l'on doit affecter la macro 'Cmd_MouseMove()' au bouton?

Dans votre code de la macro 'Cmd_MouseMove' la1ère et la 3ème lignes sont indiquées comme des commentaires. Est-ce bien juste?

Désolée pour l'avalanche de , mais j'essaie de trouver ce que peux bien empêcher votre code de fonctionner.

Alexandra.
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
27 juin 2006 à 17:46
moi j'ai pris une feuille vierge, j'ai dessiné un bouton, j'ai fait un clic droit, visualiser le code, ça a ouvert le VBA, j'ai écrit la procédure et yop ça marche.
Si le bouton est dans une boîte de dialogue chez moi le code se met dans un module...
Et est-ce que l'on doit affecter la macro 'Cmd_MouseMove()' au bouton? : oui si le bouton s'appelle cmd sinon ça ne marchera pas
Dans votre code de la macro 'Cmd_MouseMove' la1ère et la 3ème lignes sont indiquées comme des commentaires. Est-ce bien juste? : oui mais justement puisque c'est des commentaires... ça n'a pas d'importance, c'était pour faire des essais et ensuite j'ai oublié de les enlever
allez je repasse ce soir

bon courage
0
alexandra1978 Messages postés 4 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 18:18
Merci beaucoup Domsig pour vos explications .

J'ai ré-essayé sur une feuille vierge et cela ne marche toujours pas .

Serait-il possible de m'envoyer votre fichier? Comme je pense que ce n'est pas possible de me l'envoyer par le biais de ce forum, si cela ne vous dérange pas je vous donne mon adresse e-mail privée: silvana.soare@bluewin.ch.

Je vous souhaite une très bonne soirée!!!
0
Rejoignez-nous