OVH Cloud OVH Cloud

Comment lancer une macro à partir d'un lien hypertexte ?

9 réponses
Avatar
relais17
Salut,

J'ai fait une macro qui ouvre un logiciel en reprenant comme argument le
contenu de ma cellule.
En fait en lancant la macro je prend l'adresse IP qui est dans la cellule
active et je lance VNC en passant comme argument l'ip ----> "vncviewer
10.0.0.5" par exemple.

Maintenant je voudrais ne pas avoir à aller lancer la macro mais la lancer
directement en cliquant sur l'ip ecrite dans la cellule.
Donc j'ai pensé passer par le lien hypertexte mais je ne sais pas comment on
lance une macro à partir du lien hypertexte...

Merci.

9 réponses

Avatar
Ardus Petus
Bonjour relais17,

A mon avis, tu ne peux pas en faire un lien Hypertexte, car Excel
détecterait une erreur sur l'activation du lien.

A la place, tu pourrais exploiter l'évènement BeforeDoubleClick

Cordialement,
--
AP

"relais17" a écrit dans le message de
news:
Salut,

J'ai fait une macro qui ouvre un logiciel en reprenant comme argument le
contenu de ma cellule.
En fait en lancant la macro je prend l'adresse IP qui est dans la cellule
active et je lance VNC en passant comme argument l'ip ----> "vncviewer
10.0.0.5" par exemple.

Maintenant je voudrais ne pas avoir à aller lancer la macro mais la lancer
directement en cliquant sur l'ip ecrite dans la cellule.
Donc j'ai pensé passer par le lien hypertexte mais je ne sais pas comment
on

lance une macro à partir du lien hypertexte...

Merci.


Avatar
Ardus Petus
Ooops! Il est effectivement possible de lancer un .exe à partir d'un lien
hypertexte!
(Je pensais qu'on ne pouvait pas)

--
AP

"relais17" a écrit dans le message de
news:
Salut,

J'ai fait une macro qui ouvre un logiciel en reprenant comme argument le
contenu de ma cellule.
En fait en lancant la macro je prend l'adresse IP qui est dans la cellule
active et je lance VNC en passant comme argument l'ip ----> "vncviewer
10.0.0.5" par exemple.

Maintenant je voudrais ne pas avoir à aller lancer la macro mais la lancer
directement en cliquant sur l'ip ecrite dans la cellule.
Donc j'ai pensé passer par le lien hypertexte mais je ne sais pas comment
on

lance une macro à partir du lien hypertexte...

Merci.


Avatar
Tech
C'est bien ce que je craignais... Merci quand même...


Bonjour relais17,

A mon avis, tu ne peux pas en faire un lien Hypertexte, car Excel
détecterait une erreur sur l'activation du lien.

A la place, tu pourrais exploiter l'évènement BeforeDoubleClick

Cordialement,
--
AP

"relais17" a écrit dans le message de
news:
Salut,

J'ai fait une macro qui ouvre un logiciel en reprenant comme argument le
contenu de ma cellule.
En fait en lancant la macro je prend l'adresse IP qui est dans la cellule
active et je lance VNC en passant comme argument l'ip ----> "vncviewer
10.0.0.5" par exemple.

Maintenant je voudrais ne pas avoir à aller lancer la macro mais la lancer
directement en cliquant sur l'ip ecrite dans la cellule.
Donc j'ai pensé passer par le lien hypertexte mais je ne sais pas comment
on

lance une macro à partir du lien hypertexte...

Merci.







Avatar
JpPradier
Bonjour relais17

Le mieux , a mon avis :
Tu créés un lien Hypertext qui redirige sur la cellule ou tu te trouves. Dans le code de
la feuille, tu utilises l'événement FollowHyperlink (Je suppose que ta macro s'appelle
LanceVNC :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
AdrIp¬tiveCell.Value
LanceVNC(AdrIP)
...
End Sub
Avatar
Tech
oui on peut mais on peut pas passer d'argument...
du coup je créé la macro...
mais comment je lance la macro à partir du lien...???
je sais pas faire...
une macro c pas comme un exe...


Ooops! Il est effectivement possible de lancer un .exe à partir d'un lien
hypertexte!
(Je pensais qu'on ne pouvait pas)

--
AP

"relais17" a écrit dans le message de
news:
Salut,

J'ai fait une macro qui ouvre un logiciel en reprenant comme argument le
contenu de ma cellule.
En fait en lancant la macro je prend l'adresse IP qui est dans la cellule
active et je lance VNC en passant comme argument l'ip ----> "vncviewer
10.0.0.5" par exemple.

Maintenant je voudrais ne pas avoir à aller lancer la macro mais la lancer
directement en cliquant sur l'ip ecrite dans la cellule.
Donc j'ai pensé passer par le lien hypertexte mais je ne sais pas comment
on

lance une macro à partir du lien hypertexte...

Merci.







Avatar
Tech
Pas bete je vais essayer...

(Tech=relais17)


Bonjour relais17

Le mieux , a mon avis :
Tu créés un lien Hypertext qui redirige sur la cellule ou tu te trouves. Dans le code de
la feuille, tu utilises l'événement FollowHyperlink (Je suppose que ta macro s'appelle
LanceVNC :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
AdrIp¬tiveCell.Value
LanceVNC(AdrIP)
...
End Sub




Avatar
Tech
ok ca marche bien vu.
mais y'a un souci.
si je change l'orde de ma liste, mettons en classant par nom d'utilisateur
au lieu d'un classement par ip (par exemple), ben du coup mon lien hypertexte
il cible toujours la meme cellule mais la cellule elle a plus le meme
contenu, donc j'ouvre vnc avec la mauvais ip... il me faudrait un lien
hypertexte qui pointe toujours sur la cellule active...
t'as pas une idée?

Tech un peu feignant aujourd'hui...


Bonjour relais17

Le mieux , a mon avis :
Tu créés un lien Hypertext qui redirige sur la cellule ou tu te trouves. Dans le code de
la feuille, tu utilises l'événement FollowHyperlink (Je suppose que ta macro s'appelle
LanceVNC :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
AdrIp¬tiveCell.Value
LanceVNC(AdrIP)
...
End Sub




Avatar
JpPradier
Re Tech

Au lieu de ActiveCell.value prend :
Target.TexToDisplay
Ca te renvoie le text affiché du lien. Donc dans ton cas l'adresse IP.

j-p
Avatar
Tech
Impec!
Merci JP


Re Tech

Au lieu de ActiveCell.value prend :
Target.TexToDisplay
Ca te renvoie le text affiché du lien. Donc dans ton cas l'adresse IP.

j-p