Comment scraper avec Excel ?

Author :

React :

Comment

Saviez-vous qu’il était possible de faire du web scraping avec Excel ? Grâce à Power Query and VBA, vous pouvez importer, structurer et actualiser des données sans avoir recours à des outils complexes.

Il est tout à fait possible d'extraire des données du web sur Excel.
Il est tout à fait possible d’extraire des données du web sur Excel. ©Christina pour Alucare.fr

Comment scraper une page web vers Excel avec Power Query ?

✅ Power Query est un outil intégré à Excel. Il sert à importer, à transformer et à analyser des données. Avec lui, vous pouvez :

  • 🔥 Récupérer des données depuis le web, un fichier, une base de données, etc.
  • 🔥 Nettoyer ou transformer ces données.
  • 🔥 Charger automatiquement les données.

C’est la méthode la plus simple pour scraper avec Excel. Découvrez les étapes à suivre.

Étape 1 : Accéder à l’outil d’import

Dans Excel, allez dans Données > Obtenir des données > À partir du web.

Ouvrir une nouvelle feuille Excel, aller dans "Données", puis "Obtenir des données", ensuite "A partir du web".
Ouvrir une nouvelle feuille Excel, aller dans “Données”, puis “Obtenir des données”, ensuite “A partir du web”. ©Christina pour Alucare.fr

Étape 2 : Coller l’URL de la page web

Collez l’adresse du site ou de la page contenant les données que vous souhaitez extraire.

Coller l'adresse du site ou de la page cible.
Coller l’adresse du site ou de la page cible. ©Christina pour Alucare.fr

Étape 3 : Naviguer dans le “Navigateur”

Une fenêtre s’ouvre avec les tables détectées. Sélectionnez la table ou les données pertinentes. Exemple : un tableau HTML.

Sélectionner le tableau ou les données.
Sélectionner le tableau ou les données. ©Christina pour Alucare.fr

Étape 4 : Charger les données dans une feuille Excel

Click on Charger pour importer directement les données dans votre feuille Excel.

Charger pour importer les données.
Charger pour importer les données. ©Christina pour Alucare.fr

💡 Pour récupérer les dernières informations du site web, actualisez les données. Faites un clic droit dans votre tableau > Actualiser.

Comment scraper avec VBA et les macros Excel ?

✅ VBA Where Visual Basic for Applications est un langage de programmation intégré à Excel et aux autres logiciels Microsoft Office. Il sert à :

  • 🔥 Automatiser des tâches répétitives.
  • 🔥 Créer des macros, c’est-à-dire des petits programmes qui s’exécutent dans Excel.
  • 🔥 Ouvrir une page web, récupérer du texte ou des tableaux et les coller directement dans Excel.

Bien que plus complexe, VBA offre un contrôle avancé : navigation entre pages, connexion avec authentification, extraction de données dynamiques, etc.

Voici un exemple de macro qui récupère un tableau HTML depuis une page :

Sub ScraperTableau()

    ' Déclaration des objets
    Dim http As Object, html As Object
    Dim tableau As Object, ligne As Object, cellule As Object
    Dim i As Long, j As Long

    ' URL de la page à scraper
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
    
    ' Création d’un objet HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

    ' Charger le contenu HTML
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' Sélection du premier tableau trouvé
    Set tableau = html.getElementsByTagName("table")(0)

    ' Boucle sur les lignes et colonnes
    For i = 0 To tableau.Rows.Length - 1
        For j = 0 To tableau.Rows(i).Cells.Length - 1
            Cells(i + 1, j + 1).Value = tableau.Rows(i).Cells(j).innerText
        Next j
    Next i

End Sub

👉 Explication du code : 

  • Dim http As Object, html As Object : Création des objets pour gérer la requête web et le contenu HTML.
  • url = "..." : URL du site à scraper.
  • http.Open "GET", url, False : Envoi d’une requête HTTP pour charger la page.
  • html.body.innerHTML = http.responseText : On insère la réponse HTML dans un objet manipulable.
  • Set tableau = html.getElementsByTagName("table")(0) : On cible le premier tableau de la page
  • Double boucle For i … For j … : On lit chaque cellule du tableau et on la colle dans Excel (cellule correspondante).

👉 Cas d’usage de VBA pour le scraping

  • Pages nécessitant authentification (login/mot de passe).
  • Pages dynamiques où Power Query ne fonctionne pas.
  • Récupérer plusieurs tableaux d’une même page ou naviguer entre plusieurs pages.
  • Automatisation : programmer la mise à jour quotidienne des données avec un bouton ou un déclencheur.

Power Query vs. VBA : quelle méthode choisir pour scraper avec Excel ?

Le choix entre Power Query and VBA se fera en fonction de vos besoins. Voici un petit comparatif pour choisir la méthode la plus adaptée.

Criteria Power Query VBA
Facilité d’usage Très simple Complexe, nécessite du code
Flexibility Limité aux données tabulaires Très flexible, contrôle total
Courbe d’apprentissage Weak High
Cas d’usage Extraction rapide de tableaux HTML Pages complexes, authentification,
automatisation avancée

➡ En gros, Power Query est parfait pour les débutants et la plupart des tâches de base, tandis que VBA est pour les utilisateurs avancés ayant des besoins spécifiques.

Quelles sont les alternatives à Excel pour le web scraping ?

Excel est pratique, mais limité. Pour des projets plus ambitieux, il existe des alternatives puissantes.

Outils No-code/Low-code

Ils permettent d’extraire des données web sans écrire de code. We quote:

  • Bright Data : une solution professionnelle, puissante et scalable.
  • Octoparse : facile à utiliser, avec une interface visuelle simple, parfait pour les débutant.
Bright est une infrastructure de données web illimitée pour l'IA et la BI.
Bright est une infrastructure de données web illimitée pour l’IA et la BI. ©Christina pour Alucare.fr

Langages de programmation

Ils permettent de scraper des sites web de manière très flexible. Vous pouvez naviguer sur plusieurs pages automatiquement, gérer les sites avec authentification, etc.

Si vous cherchez une solution puissante, idéale pour les projets complexes, optez pour le web scraping with Python.

👉 Voyons en un coup d’œil quelles solutions dépassent Excel en puissance, en flexibilité et en simplicité.

Outil/Langage Cost Complexité Powerful
Excel (Power Query) Dépend du pack Office Easy Basic
Excel (VBA) Gratuit (avec une licence Office) Mean Mean
Bright Data Monthly subscription Mean Très élevée
Octoparse Monthly subscription Easy Mean
Python (BeautifulSoup, Scrapy) Free High Très élevée

Quels outils et ressources peuvent aider à scraper avec Excel ?

Si vous souhaitez aller plus loin dans le scraping avec Excel, vous pouvez le combiner avec d’autres outils comme les libraries and the game's browser extensions.

For instance :

Is web scraping legal?

the web scraping est légal sous certaines conditions. Tout dépend du respect des CGU du site, de la propriété intellectuelle et de l’usage des données.

💬 Pour terminer, scraper avec Excel est possible et accessible, surtout avec Power Query. Pour des besoins plus poussés, le VBA offre un contrôle avancé, mais d’autres outils comme Bright Data Where Python sont parfois plus adaptés.

Found this helpful? Share it with a friend!

This content is originally in French (See the editor just below.). It has been translated and proofread in various languages using Deepl and/or the Google Translate API to offer help in as many countries as possible. This translation costs us several thousand euros a month. If it's not 100% perfect, please leave a comment for us to fix. If you're interested in proofreading and improving the quality of translated articles, don't hesitate to send us an e-mail via the contact form!
We appreciate your feedback to improve our content. If you would like to suggest improvements, please use our contact form or leave a comment below. Your feedback always help us to improve the quality of our website Alucare.fr


Alucare is an free independent media. Support us by adding us to your Google News favorites:

Post a comment on the discussion forum