Activer un lien en VBA

Bonjour tout le monde,

J'aimerais ouvrir un lien contenu dans une cellule à l'aide de ce code (Trouvé sur internet) :

Sub Modop()
'
' Modop Macro

'
Range("C6").Hyperrlinks(1).Follow NewWindow:=True

End Sub

Exemple de cellule C6 (J'ai testé deux formes)

=LIEN_HYPERTEXTE(RECHERCHEV(B6;Base!B5:D8;2;FAUX))
Ou
=RECHERCHEV(B6;Base!B5:D8;2;FAUX)

renvoie cette valeur : C:\Users\ql5\Desktop\Code_Barre.pptx

Est le compilateur me renvoie :

capture

En regardant la doc Microsoft je ne comprend pas la notion d'indice

De plus je ne comprend pas le (1) en argument de Hyperrlinks

Comment pourrais t'on faire pour activer le lien ?

Je vous remercie pour votre attention !

23chantier-lien.xlsm (21.52 Ko)

Bonjour,

Essaie ainsi :

Range("C6").Hyperlink.Follow NewWindow:=True

Cdlt.

Bonjour Jean-Eric,

Merci pour ta réponse

Avec cette ligne une nouvelle erreur,

capture

Bonjour toutes et tous,

coucou Jean-Eric

@Lonelyx

si cela peut aider un fil de discussion proposé par Sébastien

https://forum.excel-pratique.com/astuces/la-fameuse-erreur-438-60484

Bonjour Andre,

Merci pour avoir donner une proposition

Mais même après avoir supprimer le fichier le problème persiste.

Merci

Bonjour,

Il faut comprendre que :

- un lien hypertexte inséré par la méthode du clic droit sur une cellule .... est différent d'un lien hypertexte composé par formule dans une cellule

Donc l'appel du lien en VBA et donc lui aussi différent.

Dans votre cas si en C6=Lien_hypetexte ......

Alors le code vba d'ouverture devient :

Dim c As Range, f$, n%
Range("C6").Select
    n = InStr(f, "(") + 1
    f = Mid(f, n, InStrRev(f, ",") - n)
    ThisWorkbook.FollowHyperlink Evaluate(f)

Re,

Un petit complément d'information si j'active le lien à la main

capture

Le code fonctionne :

Range("C6").Hyperrlinks(1).Follow NewWindow:=True

Mais si j'active le lien avec la fonction LIEN_HYPERTEXTE(Lien\...\...\...) cela ne marche pas ...

Merci pour vos retours.

PS : j'ai écris ce post avant la réponse de Xmenpl

Xmenpl merci pour ta réponse, je suis en train de réfléchir dessus.

Normal essaies avec le code indiqué sur le message précédent pour les liens hypertextes composés par formule excel

En cadeau un fichier avec userform qui permet de choisir l'ouverture de liens hypertextes ajoutés à une cellule ou l'ouverture de liens composés par

formules. ( voir codes vba sur boutons du userform )

Bonjour Xmenpl,

Merci pour ton retour !

Merci beaucoup pour ton super fichier !

Malheureusement quand je tente d'exécuter ton code, je tombe sur la même erreur d'indice, que dans mon premier exemple.

Range("C6").Hyperrlinks(1).Follow NewWindow:=True
capture

Si j'ai bien compris l'indice est la taille du tableau (plage) dans laquelle la fonction Follow de hyperlinks() vas chercher en l'occurrence une cellule donc 1 ?

Dans ce cas pourquoi l'indice n'appartiendrait pas à ma sélection ?

Donc si cela fonctionne pour toi et pas pour moi, alors il faut que je me concentre plus sur les paramètres d'Excel que de la syntaxe de code.

Sur quel version d'Excel est tu ?

Re,

Une nouvelle intervention !?

Public Sub FollowHyperlink()
Dim a As String
    a = Range("C6").Value
    ActiveWorkbook.FollowHyperlink Address:=a, NewWindow:=True
End Sub

Cdlt.

Rebonjour Lonelyx et Jean-Eric

La version du fichier est 2013. mais çà ne doit pas changer grand chose pour ton 2010.

Ton erreur indice n'appartiend pas à la sélection te t'indiques cette ligne ? Range("C6").Hyperlink.Follow NewWindow:=True ?

Comment peux tu avoir cette ligne en erreur si tu as utilisé mon code ?

La ligne de mon code est différente

Dim c As Range, f$, n%
Range("C6").Select
    n = InStr(f, "(") + 1
    f = Mid(f, n, InStrRev(f, ",") - n)
    ThisWorkbook.FollowHyperlink Evaluate(f)

Ooops j'avais pas vu le fichier dans le premier post !

Voilà avec le code adapté au fichier.

101chantier-lien.xlsm (21.91 Ko)

Re,

Merci tout le monde

La solution de Jean-Eric fonctionne !

Je vais étudier la proposition de Xmenpl.

Bon WE

Rechercher des sujets similaires à "activer lien vba"