je suis sûre que la solution est simple mais je bloque sur un problème !
J'ai une carte avec des zone entourées sous forme de... forme ! qui ont des liens hypertextes. Je veux aussi que ces formes exécutent une macro avec la valeur de la cellule vers laquelle elles mènent pour trier un tableau.
Problème : l'évènement Workbook_SheetFollowHyperlink fonctionne si le lien est sur une cellule mais pas si c'est sur une forme et je ne peux pas avoir à la fois un lien ET une macro sur une forme...
Une idée ?
Je ne suis pas douée pour expliquer donc petit fichier en exemple.
Merci à ceux qui voudront bien me guider !
Bonsoir Gawella,
Je ne sais pas si ma proposition va vous plaire.
Sur chaque forme juste une macro sans lien hypertexte, et cette macro :
VB:
Sub TEST()
Qui = Application.Caller ' Qui m'appelle
Numéro = Val(Split(Qui, " ")(1)) ' Mon identifiant
Où = "A" & Numéro ' Cellule où aller
Range(Où).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True ' Activer lien
End Sub
J'identifie la forme qui appelle, et je lance le lien de la cellule correspondante.
C'est une bonne idée votre code
avec Application.Caller on retrouve le nom de la forme et on peux consigner cet objet
dans une variable objet de la classe Shape.
Très Bien Merci @Phil69970
Dim newShape As Shape
Set newShape = ActiveSheet.Shapes.Item(Application.Caller) ' Application.Caller
newShape.Select