Comment extraire une URL à partir d’un lien hypertexte dans Google Sheets (3 méthodes faciles)

Video extract hyperlink from google sheet cell

Dealing with hyperlinks in Google Sheets can sometimes be challenging, particularly when it comes to extracting the URL from them. Unfortunately, Google Sheets does not have a built-in feature or function that allows you to extract URLs from multiple cells at once. But, there are still ways to do it. In this article, we will explore different ways to extract the URL from hyperlinks in Google Sheets.

Extraire l’URL d’un lien hypertexte à l’aide de la fonction intégrée

Si vous avez seulement quelques URLs à extraire des liens hypertexte, l’extraction manuelle serait la meilleure approche. Cette méthode est simple et ne nécessite aucune formule ou script complexe.

Voici comment extraire l’URL d’un lien hypertexte :

  1. Placez votre curseur sur le lien hypertexte (sans cliquer dessus) à partir duquel vous souhaitez extraire l’URL.
  2. Lorsque vous survolez le lien hypertexte, une fenêtre de prévisualisation du lien apparaîtra automatiquement en bas du lien.
  3. Sélectionnez l’icône « Copier le lien » dans la fenêtre de prévisualisation du lien. Cela copiera l’URL du lien hypertexte dans votre presse-papiers.
  4. Déplacez-vous vers la cellule où vous souhaitez insérer l’URL. Appuyez sur la touche « Entrée » pour activer la cellule, puis utilisez le raccourci clavier « Ctrl + V » (Windows) ou « Cmd + V » (Mac) pour coller l’URL copiée.
  5. Répétez les mêmes étapes ci-dessus pour les autres liens hypertexte.

Notez que si vous avez beaucoup d’URLs à extraire, le faire un par un serait fastidieux. Dans ce cas, vous pouvez envisager d’utiliser l’une des méthodes suivantes.

Extraire l’URL d’un lien hypertexte à l’aide d’une fonction de script d’application

Bien que Google Sheets ne dispose pas d’une fonction intégrée pour extraire les URL des liens hypertexte, vous pouvez créer votre propre fonction à l’aide de Google Apps Script. Cette méthode sera extrêmement utile lorsque vous avez un grand nombre d’URLs à extraire des liens hypertexte.

Pour cela, j’ai créé le code suivant dans Apps Script, qui crée une fonction personnalisée prenant un lien hypertexte en entrée et renvoyant l’URL en sortie.

function GetURL(input) {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const myFormula = SpreadsheetApp.getActiveRange().getFormula();
  const matches = (myFormula.indexOf("(") !== -1 && myFormula.indexOf(")") !== -1) ? myFormula.slice(myFormula.indexOf("(") + 1, myFormula.indexOf(")")) : undefined;
  const range = sheet.getRange(matches);
  const linkUrls = range.getRichTextValues().map(ia => ia.map(row => row.getLinkUrl()));
  return linkUrls;
}

Pour ajouter ce code dans l’éditeur de code d’Apps Script, suivez ces étapes :

  1. Cliquez sur « Extensions » dans le menu et sélectionnez « Apps Script » dans le menu déroulant.
  2. Copiez le code ci-dessus et collez-le dans votre éditeur de code, en remplaçant tout code existant.
  3. Cliquez ensuite sur l’icône de disquette en haut à gauche de la fenêtre de l’éditeur pour enregistrer vos modifications.

Maintenant, vous pouvez revenir à votre feuille de calcul et utiliser la fonction personnalisée =GetURL(input), comme n’importe quelle autre fonction disponible dans Google Sheets.

Prenons l’exemple de l’ensemble de données ci-dessous, où vous avez des liens hypertexte dans la colonne A et vous souhaitez en extraire les URLs.

Pour utiliser cette fonction, il vous suffit de passer la référence de la cellule contenant le lien hypertexte que vous souhaitez extraire. Par exemple, si vous avez un lien hypertexte dans la plage de données de A1:A5, la formule serait la suivante :

=GetURL(A1:A5)

Et voilà ! Vous avez extrait avec succès les URLs des liens hypertexte à l’aide de la fonction personnalisée d’Apps Script. La sortie de cette fonction est dynamique, ce qui signifie qu’elle se met automatiquement à jour en fonction de toute modification apportée aux données d’entrée des liens hypertexte.

Extraire l’URL d’un lien hypertexte à l’aide d’un menu personnalisé dans Apps Script

Une autre façon d’extraire l’URL d’un lien hypertexte à l’aide d’Apps Script consiste à créer une option de menu personnalisée dans Google Sheets. Cela permet aux utilisateurs d’exécuter le script directement à partir de la barre de menu.

Voici comment cette méthode fonctionne en détail.

//Code Developed by Manideep Chaudhary from http://productivesheets.com 
function GETLINKmenu() { 
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
  const activeRange = sheet.getActiveRange(); 
  const startRow = activeRange.getRowIndex(); 
  const column = activeRange.getColumn(); 
  const numRows = activeRange.getNumRows(); 

  const linkUrls = activeRange.getRichTextValues().map(row => { 
    return row.map(cell => cell.getLinkUrl()); 
  }); 

  sheet.getRange(startRow,column+1,numRows,1).setValues(linkUrls); 
} 

function onOpen() { 
  let ui = SpreadsheetApp.getUi(); 
  ui.createMenu('Custom') 
    .addItem('Extraire l'URL d'un lien hypertexte', 'GETLINKmenu') 
    .addToUi(); 
}

Pour ajouter ce code dans l’éditeur de code d’Apps Script, suivez ces étapes :

  1. Cliquez sur « Extensions » dans le menu supérieur, puis sélectionnez « Apps Script » dans le menu déroulant.
  2. Copiez et collez le code ci-dessus dans l’éditeur, puis cliquez sur l’icône de sauvegarde pour enregistrer vos modifications.

Revenez maintenant à votre feuille de calcul, actualisez-la et vous verrez un nouvel élément de menu appelé « Menu personnalisé » dans la barre de menu.

Voici les étapes à suivre pour extraire l’URL d’un lien hypertexte à l’aide du menu personnalisé d’Apps Script :

  1. Sélectionnez la plage de données qui contient les liens hypertexte à partir desquels vous souhaitez extraire les URLs.
  2. Ensuite, cliquez sur le menu « Menu personnalisé » et sélectionnez « Extraire l’URL d’un lien hypertexte ».
  3. Le script s’exécutera et extraira les URLs des liens hypertexte des cellules sélectionnées dans la plage active. Il insérera ensuite les URLs dans la colonne adjacente.

Notez que la première fois que vous exécutez le script, vous devrez peut-être autoriser l’accès à votre feuille de calcul Google. Suivez les invitations pour accorder les autorisations nécessaires.

Extraire l’URL à partir de la fonction HYPERLINK

Nous pouvons utiliser la combinaison des fonctions REGEXEXTRACT et FORMULATEXT pour extraire l’URL du lien hypertexte. Veuillez noter que cette formule fonctionne uniquement avec les liens hypertexte créés à l’aide de la fonction HYPERLINK dans Google Sheets. Si vous avez des liens hypertexte créés par d’autres moyens (formatage de texte enrichi), je vous recommande d’utiliser les méthodes d’Apps Script mentionnées ci-dessus à la place.

Supposons que vous disposez de l’ensemble de données ci-dessous avec des liens hypertexte (créés avec la fonction HYPERLINK) dans la colonne A, et que vous souhaitez en extraire les URLs.

Voici la formule pour extraire l’URL :

=REGEXEXTRACT(FORMULATEXT(A2), « (https?://[^ » »]+) »)

Remplacez A2 par la cellule contenant le lien hypertexte. Cette formule extrait l’URL de la fonction HYPERLINK à l’aide d’expressions régulières.

Comprenez bien que la formule fonctionne en utilisant d’abord la fonction FORMULATEXT pour obtenir la formule HYPERLINK sous forme de chaîne de texte à partir de la cellule spécifiée. Ensuite, la fonction REGEXEXTRACT recherche le texte correspondant au motif d’URL à l’aide de l’expression régulière « (https?://[^ » »]+) » et extrait le motif correspondant (dans ce cas, l’URL).

J’espère que ce tutoriel vous a été utile ! Si vous avez des questions ou des suggestions, n’hésitez pas à les partager dans la section des commentaires ci-dessous. Merci de nous lire !

Continuez à apprendre de nouvelles astuces pour améliorer votre utilisation de Google Sheets sur Crawlan.com.

Articles en lien