VBA – Hyperliens

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel VBA couvre les différentes façons de travailler avec des hyperliens en VBA.

Hyperliens en VBA

Avec VBA, vous pouvez ajouter des hyperliens, supprimer des hyperliens, créer des courriers électroniques à l’aide d’hyperliens et ouvrir des fichiers à l’aide d’hyperliens.

Ajouter un Hyperlien avec VBA

La méthode Hyperlinks.Add ajoute un hyperlien à une cellule à l’aide de VBA. Le code suivant permet d’ajouter un hyperlien à la cellule A1 :

Sub AjouterHyperlienCellule()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/"
End Sub

Le résultat est le suivant :

Add a Hyperlink to a Cell with VBA

Ajouter un Texte à Afficher avec VBA

Vous pouvez ajouter un texte à afficher convivial à votre hyperlien à l’aide de VBA. En utilisant la fonctionnalité de l’interface graphique, vous insérez un hyperlien et ajoutez ensuite un texte à afficher dans la boîte de dialogue fournie.

Le code ci-dessous montre comment ajouter du texte à afficher à votre hyperlien en utilisant VBA :

Sub TexteAffichéHyperlien()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel"
End Sub

Le résultat est le suivant :

Ajouter une Info-Bulle avec VBA

Vous pouvez ajouter une info-bulle à votre hyperlien que l’utilisateur verra lorsqu’il survolera le lien avec son curseur.

Le code ci-dessous montre comment ajouter une info-bulle à votre hyperlien en utilisant VBA :

Sub InfoBulleHyperlien()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="https://www.automateexcel.com/excel/", TextToDisplay:="Automate Excel", ScreenTip:="Voici le lien de Automate Excel"
End Sub

Le résultat est le suivant :

Supprimer un Hyperlien avec VBA

La méthode Hyperlinks.Delete peut être utilisée pour supprimer un hyperlien d’une cellule.

Le code suivant supprimera l’hyperlien de la cellule A1 et le texte de la cellule.

Notez que la suppression de l’hyperlien ne supprime pas le texte lui-même. C’est pourquoi, si vous souhaitez supprimer le texte, vous devez également utiliser la méthode Clear.

Sub SupprimerHyperlienCellule()
  Range("A1").Hyperlinks.Delete
  Range("A1").Clear
End Sub

Supprimer tous les Hyperliens d’une Feuille de Calcul

Vous pouvez également supprimer tous les hyperliens de votre feuille de calcul à l’aide de la méthode Hyperlinks.Delete.

Le code suivant permet de supprimer tous les hyperliens de la première feuille de calcul de votre classeur :

Sub SupprimerTousLesHyperliensFeuille()
  ThisWorkbook.Sheets(1).Hyperlinks.Delete
End Sub

Suivre un Hyperlien de Site Web en Utilisant VBA

Le code suivant vous permet d’ouvrir l’adresse d’un site Web dans une nouvelle fenêtre de votre navigateur à l’aide de la méthode FollowHyperlink de votre classeur :

Sub OuvrirSiteWebHyperlien()
  ActiveWorkbook.FollowHyperlink Address:="https://www.automateexcel.com/excel", NewWindow:=True
End Sub

Suivre un Hyperlien Vers un Dossier de Votre Disque Dur

Le code suivant ouvrira un dossier appelé FichiersExcel sur le disque C en utilisant la méthode FollowHyperlink :

Sub OuvrirDossierDisqueDurHyperlien()
    ActiveWorkbook.FollowHyperlink Address:="C:\FichiersExcel"
End Sub

Suivre un Hyperlien Vers un Fichier sur Votre Disque Dur

Le code suivant ouvre un fichier Excel appelé Classeur1 dans le dossier FIchiersExcel sur le bureau en utilisant la méthode FollowHyperlink :

Sub OuvrirFichierDisqueDurHyperlien()
  ActiveWorkbook.FollowHyperlink Address:="C:\FichiersExcel\Classeur1.xlsx", NewWindow:=True
End Sub

Accéder à une Cellule sur une Autre Feuille du Même Classeur

Vous pouvez ajouter un lien hypertexte à une cellule qui vous amène à une autre feuille du même classeur avec VBA. Supposons que vous vous trouviez dans la cellule A1 de la feuille 1 de votre classeur et que vous souhaitiez insérer un hyperlien vers la cellule B2 de la feuille 2 du même classeur, vous pouvez utiliser la propriété SubAddress pour ce faire.

Le code suivant montre comment procéder :

Sub AllerÀUneAutreCelluleDansUneAutreFeuilleDuMêmeClasseur()
  ActiveSheet.Hyperlinks.Add Range("A1"), Address:="", SubAddress:="" & Feuil2.Name & "!B2", TextToDisplay:="Cliquer ici pour aller à la feuille 2, cellule B2 du présent classeur"
End Sub

Afficher Tous les Hyperliens d’une Feuille de Calcul

Vous pouvez accéder à la collection d’hyperliens et afficher tous les hyperliens de votre feuille de calcul dans la Fenêtre d’Exécution de l’éditeur VBA. Vous devez d’abord appuyer sur CTRL+G sur votre clavier ou aller dans le menu Affichage>Fenêtre Exécution dans l’éditeur VBE, pour afficher la fenêtre d’exécution.

Le code suivant montre comment afficher les hyperliens de votre feuille de calcul dans la fenêtre exécution:

Sub AfficherTousLesHyperliensDansLaFeuilleDeCalcul()

Dim fc As Worksheet

Set fc = ThisWorkbook.Sheets(1)

For Each lien In fc.Hyperlinks
    Debug.Print lien.Address
Next lien

End Sub

Les résultats sont affichés dans la fenêtre exécution.

Afficher Tous les Hyperliens d’un Classeur

Vous pouvez accéder à la collection d’hyperliens pour parcourir et afficher tous les hyperliens de votre classeur dans une boîte de message.

Le code suivant montre comment procéder, et utilise une boucle imbriquée pour y parvenir :

Sub AfficherTousLesHyperliensDansLeClasseur()

Dim fc As Worksheet

For Each fc In ActiveWorkbook.Worksheets
    For Each lien In fc.Hyperlinks
        Debug.Print lien.Address
    Next lien
Next fc

End Sub

Utilisation de la Méthode FollowHyperlink pour Créer des Courriels

Vous pouvez également créer des courriers électroniques en utilisant la méthode FollowHyperlink.

Le code ci-dessous montre comment créer des courriels à l’aide de la méthode FollowHyperlink en VBA :

Sub EnvoyerCourrielAvecHyperlien()

Dim msgLien As String

msgLien = "mailto:" & "personne@email.com" & "?" & "subject=" & "Bonjour" & "&" & "body=" & "Comment allez-vous?"
ActiveWorkbook.FollowHyperlink (msgLien)

End Sub

Le résultat est le suivant :

Ajout d’un Hyperlien à une Forme dans Excel

Vous pouvez ajouter un lien hypertexte à une Forme Automatique dans Excel de sorte que lorsque l’utilisateur clique sur la forme, il soit dirigé vers l’adresse d’un site web.

Le code suivant crée un rectangle arrondi, ajoute le texte et l’hyperlien au rectangle :

Sub AjouterHyperlienÀUneForme()

Dim maForme As Shape
Set monDocument = Worksheets("Feuil1")
Set maForme = monDocument.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 90, 30)

With maForme
    .TextFrame.Characters.Text = "Automate Excel"
End With

ActiveSheet.Hyperlinks.Add Anchor:=maForme, Address:="https://www.automateexcel.com/excel"

End Sub

Le résultat est le suivant :

Adding a Hyperlink to An Autoshape in VBA

Insertion d’une Formule d’Hyperlien dans une Cellule à l’Aide de VBA

Supposons que vous ayez un titre d’article dans la cellule A4 et un lien d’article dans la cellule B4, comme le montre l’image ci-dessous.

Voici un bref rappel de la syntaxe de la formule Hyperlien de la feuille de calcul :

=LIEN_HYPERTEXTE(emplacement_lien, [nom_convivial])

emplacement_lien- Il s’agit du lien vers le document, le fichier, l’endroit du classeur ou le site en ligne.

nom_convivial – (Facultatif) – Le texte ou la valeur numérique qui est affiché dans la cellule.

Dans la cellule C4, vous voulez ajouter un hyperlien avec un texte convivial à afficher. Habituellement, vous entrez la formule =LIEN_HYPERTEXTE(B4,A4) dans C4 pour obtenir ce qui suit :

Vous pourriez plutôt utiliser VBA pour obtenir le même résultat, et insérer cette formule dans la cellule, dans la Feuil1 avec le code suivant :

Sub InsererHyperlienFormuleCellule()
  ActiveWorkbook.Worksheets("Feuil1").Range("C4").Formula = "=LIEN_HYPERTEXTE(B4,A4)"
End Sub

Ajout d’un Hyperlien à un Bouton dans Access

VBA vous permet de travailler avec des hyperliens dans Access également. Disons que nous avons un bouton sur un formulaire et que lorsque l’utilisateur clique sur ce bouton, nous voulons qu’il soit dirigé vers un site web. Pour ce faire, vous pouvez utiliser la méthode Application.FollowHyperlink.

Notre exemple de formulaire contient un bouton appelé buttonOne, illustré ci-dessous.

Le code pour ce bouton serait :

Private Sub boutonUn_click()

Application.FollowHyperlink ("https://www.automateexcel.com/excel/")

End Sub

Création d’un Hyperlien à Partir d’une Sélection dans Word

Vous pouvez également travailler avec des hyperliens dans Word VBA. Disons que nous avons un texte dans Word qui dit « Cliquez ici pour accéder au site Web d’Automate Excel », qui est sélectionné comme indiqué ci-dessous.

Pour transformer ce texte en un lien hypertexte à l’aide de VBA, vous pouvez utiliser le code suivant :

private Sub CréerHyperlienÀPartieDeLaSélection()
  ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="https://www.automateexcel.com/excel/", ScreenTip:="Cliquez Ici!", Target:=NewWindow
End Sub

Le résultat est le suivant :

vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA