Fonction HTML_PAGE pour Google Sheets

La fonction personnalisée HTML_PAGE pour Google Sheets retourne le code HTML d'une page Web (ou le code de réponse de la page en cas d'erreur).

Copiez et collez simplement le code de la fonction HTML_PAGE dans l'éditeur de scripts pour pouvoir ensuite l'utiliser (pour plus de détails, consultez la page Ajouter une fonction personnalisée à Google Sheets).


Exemple d'utilisation

La fonction HTML_PAGE récupère ici le code HTML de l'index du forum :

=HTML_PAGE("https://forum.excel-pratique.com")

Aperçu :

google sheets fonction code html site internet page

Autre exemple avec une page Web minimaliste (qui pourrait être celle d'une API) contenant un seul mot :

=HTML_PAGE("https://www.excel-pratique.com/s/information/internet")

Aperçu :

google sheets fonction url api site html page

Code Google Apps Script de la fonction

Le code de la fonction à copier-coller dans l'éditeur de scripts :

function HTML_PAGE(url) {
  
  // Source : https://www.sheets-pratique.com/fr/codes/fonction-html-page
  
  // Requête
  const requete = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
  
  // Code de réponse
  const code = requete.getResponseCode().toString();
  
  // Renvoie le code HTML de la page (ou le code de réponse en cas d'erreur)
  return code[0] == 2 ? requete.getContentText() : 'Erreur ' + code;
}

Version limitée à 50'000 caractères

Pour éviter d'obtenir une erreur en cas de dépassement de la limite des 50'000 caractères d'une cellule, vous pouvez utiliser cette seconde version de la fonction HTML_PAGE :

function HTML_PAGE(url) {
  
  // Source : https://www.sheets-pratique.com/fr/codes/fonction-html-page
  
  // Requête
  const requete = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
  
  // Code de réponse
  const code = requete.getResponseCode().toString();
  
  // Renvoie le code HTML de la page (ou le code de réponse en cas d'erreur)
  return code[0] == 2 ? requete.getContentText().slice(0, 50000) : 'Erreur ' + code;
}