Les Liens Hypertextes - FAQ Excel

Cours et tutoriels pour Débuter en Excel

  • Tutoriel de présentation de Microsoft Excel par Michel Tanguy
  • Tutoriel pour apprendre la gestion des doublons dans Microsoft Excel par Michel Tanguy
  • Tutoriel pour apprendre la gestion des erreurs dans Microsoft Excel par Michel Tanguy
  • Tutoriel pour apprendre comment récupérer les données dans un classeur Excel endommagé par Michel Tanguy

Forums Excel

  • Aide à la conception de classeurs Excel
  • Macros et VBA Excel
  • Partagez vos codes, sources, trucs et astuces en Excel

Les meilleures ressources Excel

  • Les meilleurs cours et tutoriels pour apprendre Excel
  • La FAQ Excel : 845 réponses à vos questions
  • La FAQ VBA Excel : 133 réponses à vos questions
  • Téléchargez les meilleures sources Excel
  • Livres Excel et critiques de la rédaction

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel sur Excel ou le VBA Excel, contactez-nous par mail
  • Pour toute autre suggestion, envoyez-nous un mail
FAQ Excel logoFAQ ExcelConsultez toutes les FAQ

Nombre d'auteurs : 46, nombre de questions : 845, dernière mise à jour : 30 mars 2022 

 précédentsommairesuivant Version hors-ligne HautPageComment ouvrir un document Word sur une page précise ?

Ajoutez un signet dans le document Word, à l'emplacement souhaité, puis fermez le fichier. Ensuite, lors de la création du lien hypertexte dans Excel, spécifiez le nom du signet à atteindre. Exemple: C:\Dossier\MonFichier.doc#NomDuSignet

Le document Word s'ouvrira directement à l'emplacement du signet lorsque vous cliquerez su le lien hypertexte.

La même opération, pour ouvrir un fichier Word par macro et atteindre un signet :

VbaSélectionnezThisWorkbook.FollowHyperlink "C:\Dossier\MonFichier.doc#NomDuSignet", , TrueCréé le 10 juin 2007  par SilkyRoad HautPageComment ajouter un lien hypertexte ?

On peut ajouter un lien indifféremment à un objet ou à une plage.

VbaSélectionnezDim objLink As Hyperlink Set objLink = ActiveSheet.Hyperlinks.Add(Range("F2"), "d:\user\tuto.xls") With objLink .SubAddress = "A1:C10" .Follow NewWindow:=True End With

Ce code crée le lien est ouvre une nouvelle fenêtre contenant la cible. Astuce : Lorsqu'on modifie la cible d'un lien existant on ne modifie pas le texte du lien. Pour que celui-ci change, il faut modifier la propriété value de la cellule contenant le lien :

VbaSélectionnezobjLink.Address = "d:\jmarc.xls" objLink.Range.Value = "d:\jmarc.xls"Créé le 14 février 2004  par Bidou HautPageComment déclencher le lien hypertexte contenu dans une cellule ?VbaSélectionnezSub Test() DeclencheLien Range("A1") End Sub Sub DeclencheLien(Cellule As Range) 'Vérifie si la cellule contient un lien If Cellule.Hyperlinks.Count = 0 Then MsgBox "il n'y a pas de lien hypertexte dans la cellule " & Cellule.Address Else 'Déclenche le lien Cellule.Hyperlinks(1).Follow NewWindow:=True End If End SubCréé le 10 juin 2007  par SilkyRoad HautPageComment extraire les liens hypertextes ?

La procédure suivante extrait les liens hypertextes contenus dans la colonne A. Les adresses s'inscrivent à coté, dans la colonne B.

VbaSélectionnezSub ExtractionLiensHypertextes() Dim Cell As Range Dim Ligne As Integer 'Récupère le numéro de la dernière ligne non vide Ligne = Columns(1).SpecialCells(xlCellTypeLastCell).Row 'Boucle sur les cellules de la colonne A For Each Cell In Range("A1:A" & Ligne) If Cell.Hyperlinks.Count > 0 Then _ Cell.Offset(0, 1) = Cell.Hyperlinks(1).Address Next Cell End SubCréé le 10 juin 2007  par SilkyRoad HautPageComment imprimer la page active et les tous les classeurs liés ?

Cette macro boucle sur les liens de la feuille active et ouvre le fichier lié s'il s'agit d'un classeur. Chaque feuille de ce classeur est ensuite imprimée.

VbaSélectionnezSub imprimerPageActiveEt_Liensclasseurs() Dim Lien As Hyperlink Dim I As Byte Application.ScreenUpdating = False 'Imprime la feuille active ActiveSheet.PrintOut 'Boucle sur les liens de la feuille active For Each Lien In ActiveSheet.Hyperlinks 'Vérifie si le lien correspond à un classeur If Right(Range(Lien.Range.Address).Hyperlinks(1).Address, 4) = ".xls" Then 'Déclenche le lien pour ouvrir le classeur Range(Lien.Range.Address).Hyperlinks(1).Follow NewWindow:=False 'Imprime le classeur ActiveWorkbook.PrintOut 'Referme le classeur ActiveWorkbook.Close End If Next Application.ScreenUpdating = True End SubCréé le 14 mai 2007  par SilkyRoad HautPageComment créer un lien email dans une cellule ?

Saisissez l'adresse de messagerie dans une cellule et appuyez sur la touche Entrée. Le lien est créé automatiquement.

Si ce n'est pas le cas, faites un clic droit dans la cellule. Sélectionnez l'option "Lien hypertexte" dans le menu contextuel. Saisissez le mail dans le champ Adresse. Cliquez sur le bouton OK pour valider. (Le texte mailto: s'ajoute automatiquement lorsque vous saisissez le symbole @.)

La même action par macro :

VbaSélectionnezSub CreationLienMail() With ActiveSheet .Range("A1") = "La description" .Hyperlinks.Add .Range("A1"), Address:="mailto:[email protected]" End With End SubCréé le 10 juin 2007  par SilkyRoad HautPageComment tester si l'hyperlien d'une cellule mène vers un fichier existant sur le PC ?VbaSélectionnezSub Test() 'Vérifie si le lien hypertexte contenu dans la cellule A1 'correspond à un fichier existant sur le PC. 'Renvoie Vrai ou Faux. MsgBox VerifHyperlink(Range("A1")) End Sub Function VerifHyperlink(Cellule As Range) As Boolean Dim Cible As String 'Vérifie si la cellule contient un lien hypertexte If Cellule.Hyperlinks.Count = 0 Then VerifHyperlink = False Exit Function End If 'Extrait l'adresse du lien Cible = Cellule.Hyperlinks(1).Address 'Vérifie si le fichier existe. '(Ne fonctionne pas pour les liens web). If Dir(Cible) <> "" And Cible <> "" Then VerifHyperlink = True Else VerifHyperlink = False End If End FunctionCréé le 2 octobre 2007  par SilkyRoad HautPageComment ouvrir l'explorateur Windows sur le répertoire contenant le classeur, sans macro ?

Placez cette formule dans la cellule de votre choix. Le classeur doit être préalablement sauvegardé pour que ça fonctionne.

Sélectionnez=LIEN_HYPERTEXTE(GAUCHE(CELLULE("filename");CHERCHE("[";CELLULE("filename");1)-2);"Lien vers le répertoire")Créé le 2 octobre 2007  par SilkyRoad HautPageComment désactiver le formatage automatique des cellules en lien web ?

Lorsque vous saisissez des liens html ou des adresses mail dans une cellule, ils sont par défaut automatiquement transformés en lien cliquable.

Pour qu'Excel ne formate pas les cellules comme des liens web : Utilisez le menu outils. Options de correction automatique.

Pour la version Excel 2007 : Cliquez sur le bouton "Office", puis sur le bouton "Options Excel". Menu "Vérification". Cliquez sur le bouton "Options de vérification automatique".

La boîte de dialogue "Correction automatique" s'affiche à l'écran. Dans l'onglet "Mise en forme automatique au cours de la frappe", décochez l'option "Adresse internet et réseau avec des liens hypertexte". Cliquez sur le bouton OK pour valider. Désormais, les liens html et les adresses mails sont considérés comme de simples textes.

Créé le 2 octobre 2007  par SilkyRoad HautPageComment créer un lien hypertexte vers une feuille graphique ?

Ce n'est pas possible directement car une feuille graphique ne contient pas de cellule à lier. Une solution de substitution consiste à créer le lien vers une cellule d'un autre onglet et cette cellule contiendra le nom de la feuille graphique. Ensuite, dans le module objet de l'onglet contenant la cellule de destination, ajoutez cette macro évènementielle :

VbaSélectionnezPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Ch As Chart If Not Intersect(Target, Range("A1")) Is Nothing Then On Error Resume Next Set Ch = Charts(Target.Value) On Error GoTo 0 'Active le feuille graphique si elle existe. If Not Ch Is Nothing Then Charts(Target.Value).Activate End If End Sub

Le lien va atteindre la cellule et l'évènement SelectionChange redirige automatiquement vers le graphique, dont le nom est saisi dans la cellule. Ici, le lien doit pointer vers la cellule A1.

Créé le 5 décembre 2007  par SilkyRoad HautPageComment utiliser la fonction LIEN_HYPERTEXTE ?

Cette fonction permet d'ouvrir un autre fichier et/ou d'atteindre un emplacement particulier.=LIEN_HYPERTEXTE("C:\dossier\test.pdf";"Cliquez ici !")=LIEN_HYPERTEXTE("C:\dossier\NomClasseur.xls";"Cliquez ici !")=LIEN_HYPERTEXTE("https://www.developpez.com/";"Cliquez ici !")

Vous pouvez indiquer un nom de serveur UNC :=HYPERLINK("\\NomServeur\dossier\NomClasseur.xls";"Cliquez ici !")

Pour ouvrir un classeur et atteindre une cellule particulière :=LIEN_HYPERTEXTE("C:\dossier\NomClasseur.xls#'Feuil1'!G50";"Cliquez ici !")

Pour atteindre une cellule ou une plage nommée :=LIEN_HYPERTEXTE("[C:\dossier\NomClasseur.xls]NomTest";"Cliquez ici !")

Si vous souhaitez créer un lien hypertexte vers un emplacement précis dans un document Microsoft Word, utilisez un signet pour définir cet emplacement. L'exemple suivant crée un lien hypertexte vers le signet "Signet1" dans le document nommé monFichier.doc=LIEN_HYPERTEXTE("C:\monFichier.doc#Signet1";"Cliquez ici")

Accéder à la cellule D10 dans la Feuil2, du même classeur :=LIEN_HYPERTEXTE("[monClasseur]Feuil2!D10";"Mon lien hypertexte")

3 Remarques: Même si vous restez dans le même classeur, précisez son nom.

Si le nom de la feuille contient un espace , le nom doit être encadré par des apostrophes :=LIEN_HYPERTEXTE("[monClasseur.xls]'ma feuille'!D10";"Mon lien hypertexte")

Si le nom du classeur est amené à changer dans le temps vous pouvez utiliser :=LIEN_HYPERTEXTE("["&STXT(CELLULE("nomfichier"); TROUVE("["; CELLULE("nomfichier"))+1;TROUVE("]"; CELLULE("nomfichier"))- TROUVE("["; CELLULE("nomfichier"))-1)&"]'ma feuille'!D10";"Mon lien hypertexte")

Créé le 19 février 2008  par SilkyRoad HautPageComment remplacer un terme dans tous les liens d'une feuille ?

Ce code remplace le terme ".fr" par ".com" dans tous les liens hypertextes de la Feuil1.

VbaSélectionnezDim Hpk As Hyperlink Dim strLien As String For Each Hpk In Worksheets("Feuil1").Hyperlinks strLien = Hpk.Address Hpk.Address = Replace(strLien, ".fr", ".com") Next HpkCréé le 26 mai 2008  par SilkyRoad HautPageComment forcer l'affichage des liens entre feuilles en haut de la page ?

Lorsqu'un lien renvoie vers un emplacement d'une autre feuille du classeur, la cellule de destination apparait en général en bas de la page. Ajoutez cette procédure dans le module objet ThisWorkbook pour forcer l'affichage en haut de la page.

VbaSélectionnezPrivate Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) On Error Resume Next If IsObject(Range(Target.SubAddress)) Then _ Application.Goto Reference:=Range(Target.SubAddress), Scroll:=True End SubCréé le 26 mai 2008  par SilkyRoad HautPageComment modifier le texte qui s'affiche dans la cellule, sans affecter le lien hypertexte ?

Vous pouvez utiliser la propriété TextToDisplay. Cet exemple vérifie si la cellule A1 contient un lien hypertexte et change le texte qui s'affiche dans la cellule, sans modifier le lien.

VbaSélectionnezIf Range("A1").Hyperlinks.Count > 0 Then _ Range("A1").Hyperlinks(1).TextToDisplay = "Nouveau texte"Créé le 20 août 2007  par SilkyRoadprécédentsommairesuivant Version hors-ligne

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Tag » Code Vba Pour Ouvrir Un Lien Hypertexte