Mezga a une série de cellules contenant des hyperliens. Ces hyperliens se composent de mots tels que «cliquez ici» ou «plus d’informations». En d’autres termes, chaque lien hypertexte contient un texte d’affichage différent de l’URL sous-jacente qui est activée lorsque l’utilisateur clique sur le lien. Mezga aimerait savoir s’il existe un moyen, sans utiliser de macro, d’extraire l’URL sous-jacente de chacun de ces hyperliens et de placer cette URL dans une cellule différente.

Sans utiliser de macros, vous pouvez faire ceci:

  1. Cliquez avec le bouton droit sur un lien hypertexte. Vous verrez un menu contextuel apparaître.

  2. Dans le menu contextuel, choisissez Modifier le lien hypertexte. Excel affiche la boîte de dialogue Modifier le lien hypertexte. (Voir la figure 1.)

  3. Sélectionnez et copiez (Ctrl + C) l’URL entière dans le champ Adresse de la boîte de dialogue.

  4. Appuyez sur Echap pour fermer la boîte de dialogue Modifier le lien hypertexte.

  5. Collez l’URL dans n’importe quelle cellule souhaitée.

Notez qu’il s’agit d’un seul lien hypertexte. Si vous avez tout un tas d’hyperliens dans une feuille de calcul et que vous souhaitez récupérer les URL, vous devez le faire pour chaque hyperlien. Évidemment, cela peut devenir fastidieux très rapidement.

Le remède à l’ennui – comme eux ou non – est une macro. Avec une macro, accéder à l’URL sous-jacente d’un lien hypertexte est un jeu d’enfant. Tout ce que la macro doit faire est de prêter attention à la propriété Address du lien hypertexte.

Voici un exemple de macro qui trouvera chaque lien hypertexte dans une feuille de calcul, extraira l’URL de chacun et collera cette URL dans la cellule directement à droite du lien hypertexte.

Sub ExtractHL()

Dim HL As Hyperlink     For Each HL In ActiveSheet.Hyperlinks         HL.Range.Offset(0, 1).Value = HL.Address     Next End Sub

Au lieu d’une macro « force brute », vous pouvez également créer une fonction définie par l’utilisateur qui extrait et renvoie l’URL de tout lien hypertexte vers lequel il est pointé:

Function GetURL(rng As Range) As String     On Error Resume Next     GetURL = rng.Hyperlinks(1).Address End Function

Dans ce cas, vous pouvez le placer où vous le souhaitez. Si vous voulez, par exemple, que l’URL d’un lien hypertexte dans A1 soit répertoriée dans la cellule C25, alors dans la cellule C25, vous devez entrer la formule suivante:

=GetURL(A1)

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9815) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Extracting_URLs_from_Hyperlinks [Extraction d’URL à partir d’hyperliens].