VBA followhyperlinkproblème avec subaddress

chris

XLDnaute Barbatruc
Bonjour

Voulant répondre à 2 post j'ai testé l'hyperlien vers un autre classeur et un emplacement précis.

Quand on crée un hyperlien manuellement, le lien dirige bien vers le signet (subaddress) choisi.

Mais en VBA il semble que la commande Followhyperlink ignore la partie subaddress.

J'ai trouvé cette question posée sur le web mais pas de solution.:mad:

Merci d'avance
 

Catrice

XLDnaute Barbatruc
Re : VBA followhyperlinkproblème avec subaddress

Bonjour,

Effectivement, pas trouvé mieux :

Code:
Sub Test1()
With ThisWorkbook.Sheets("Feuil1").Hyperlinks(1)
    Workbooks(.Address).Activate
    Sheets(Split(.SubAddress, "!")(0)).Select
    Range(Split(.SubAddress, "!")(1)).Select
End With
End Sub

D10 contient un lien hypertext du type : Classeur2.xls#Feuil2!C10
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : VBA followhyperlinkproblème avec subaddress

Bonjour

Pas mal bousculée en ce moment, d'où ma réponse tardive.

Merci catrice.
L'idée était d'associer l'hyperlink à un graphique (donc sans hyperlien présent dans une cellule).

J'avais aussi pensé à forcer la sélection à l'arrivée mais j'aimerais comprendre pourquoi le code VB ne se comporte pas comme indiqué dans la doc et comme un lien créé à la main.

Sur un autre PB VBA (je ne sais plus lequel) la solution consistait à remplacer une constate xl par son numéro mais là je n'ai rien trouvé.
Une solution évoquait le nommage mais j'ai beau nommer la plage cible, dans les deux classeurs, je ne réussis à rien de plus.
 

pierrejean

XLDnaute Barbatruc
Re : VBA followhyperlinkproblème avec subaddress

Bonjour Chris

Salut Catrice

Voici ce que j'ai trouvé pour activer l'Hyperlink d'une cellule (A1 en l'occurence)

Code:
  ActiveSheet.Range("A1").Hyperlinks(1).Follow NewWindow:=True

D'apres ce que j'ai pu comprendre de l'aide :
Followhyperlink est plutot l'evenement produit par la commande Follow
 

chris

XLDnaute Barbatruc
Re : VBA followhyperlinkproblème avec subaddress

Bonjour

Bise à PierreJean

En fait mon problème était d'associer à un double clic sur un graphique , l'hyperlien vers sa source située dans un autre classeur.
Pour avoir le même code quel que soit le graph cliqué, je récupère dans mon VBA les coordonnées de la 1ère série du graphique appelant et ayant cela je peux ouvrir la classeur source au bon endroit.

J'utilise donc ensuite la ligne
Code:
    ActiveWorkbook.FollowHyperlink Address:=Lien, SubAddress:=zzone
avec pour la variable Lien le nom du classeur, et la variable Zzone, feuille!plage
mais c'est là mon souci, Excel se fiche de la partie Subaddress et ouvre le classeur en restant là où se trouvait la cellule active quand ce classeur a été enregistré.

M'enerve....
 

Lii

XLDnaute Impliqué
Re : VBA followhyperlinkproblème avec subaddress

Bonsoir,

ce n'est pas tout à fait une explication directe à la question posée que je donne.
Le temps de préparer une réponse au clic, l'auteur avait trouvé une solution (non donnée d'ailleurs).
Je n'avais pas pensé à l'hyperlien. Je voulais lui proposer une autre démarche. J'ai donc complété mon fichier.
 

Pièces jointes

  • OuvrirUnFichierLié(clic).zip
    24.7 KB · Affichages: 126

Laure3307

XLDnaute Nouveau
Re : VBA followhyperlinkproblème avec subaddress

Bonjour,

Effectivement, pas trouvé mieux :

Code:
Sub Test1()
With ThisWorkbook.Sheets("Feuil1").Hyperlinks(1)
    Workbooks(.Address).Activate
    Sheets(Split(.SubAddress, "!")(0)).Select
    Range(Split(.SubAddress, "!")(1)).Select
End With
End Sub

D10 contient un lien hypertext du type : Classeur2.xls#Feuil2!C10

Bonjour Catrice,
Ton code m'intéresse beaucoup mais je ne comprends pas comment l'utiliser. Quand tu parles de ta cellule D10 qui contient le lien hypertext, où le places tu dans ce code ?
Merci !
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 867
dernier inscrit
XFPRO