Lien hypertext comment déclencher une macro

  • Initiateur de la discussion Initiateur de la discussion magoo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

magoo

Guest
Bonjour le forum,

Je souhaite en vba écrire dans une cellule un lien hypertext qui déclenche une macro.

Merci à tous

Suite du fil : http://www.excel-downloads.com/html/French/forum/messages/1_147132_147132.htm
 
bonjour Magoo,

excuse-moi, je n'avais pas vu ton dernier post.

En fait, tu dois inscrire le nom de ta macro dans TextToDisplay
Exemple :
Range("E5").Hyperlinks.Add anchor:=[E5], Address:="", _
SubAddress:=[E5].Address(, , xlA1, True), TextToDisplay:="recap", ScreenTip:="récapitulation par date"

Une fois cette macro executée, tu peux l'effacer, ton lien hypertexte est enregistré avec ton classeur.
La limite, c'est que ton nom de macro est en même temps le texte de la cellule, alors qu'avec un lien web, tu as plus de souplesse.

amicalement
 
bonsoir Magoo , bonsoir OnErrorResumeNext

OnErrorResumeNext , pour faire fonctionner ta macro j'ai ajouté au niveau de la feuille contenant le lien hypertexte


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.TextToDisplay = "recap" Then recap
End Sub


l'evenement "Worksheet_FollowHyperlink" permet d'intercepter le déclenchement de liens hypertexte ( à partir d'excel2000 )


bonne soiree
MichelXld
 
Bonsoir

Pour ma part, j'utilise ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Count = 1 And Target.Hyperlinks.Count Then
DoEvents
--------ton code------------
End If
End Sub

qui permet via le doevents de "temporiser" la macro pour pouvoir réaliser ton code, mais je pense que onerrorresumenext et Michel (Monsieur Michel, on dit), son surement dans le vrai.

Salut
Hervé
 
bonsoir tout le monde,

Michel a raison, j'ai oublié quelque chose. C'est différent des codes d'Hervé et de Michel. Ca ne va pas simplifier le problème ....

-----------------------------------------------
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
XX Target.Parent.Address(0, 0)
End Sub

Sub XX(Adr As String)
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!" & Range(Adr)
Application.Run LaMacro
End Sub
------------------------------------------------
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
428
Retour