Comment scraper avec Excel ?

Autor :

Reaccionar :

Comentario

Saviez-vous qu’il était possible de faire du raspado web avec Excel ? Grâce à Power Query y 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

Haga clic en 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 Donde 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 y VBA se fera en fonction de vos besoins. Voici un petit comparatif pour choisir la méthode la plus adaptée.

Criterios Power Query VBA
Facilité d’usage Très simple Complexe, nécessite du code
Flexibilidad Limité aux données tabulaires Très flexible, contrôle total
Courbe d’apprentissage Débil Alta
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. Citamos :

  • Datos brillantes : 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 con Python.

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

Outil/Langage Costo Complexité Potencia
Excel (Power Query) Dépend du pack Office Fácil Básico
Excel (VBA) Gratuit (avec une licence Office) Significar Significar
Datos brillantes Suscripción mensual Significar Très élevée
Octoparse Suscripción mensual Fácil Significar
Python (BeautifulSoup, Scrapy) Libre Alta 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 bibliotecas y los extensiones de navegador.

Por ejemplo :

¿Es legal el web scraping?

la 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 Datos brillantes Donde Python sont parfois plus adaptés.

¿Te gusta? ¡Compártelo!

Este contenido es originalmente en francés (Véase el editor justo debajo). Se ha traducido y revisado en varios idiomas utilizando Deepl y/o la API de Google Translate para ofrecer ayuda en el mayor número de países posible. Esta traducción nos cuesta varios miles de euros al mes. Si no es 100 % perfecta, déjanos un comentario para que podamos arreglarlo. Si estás interesado en corregir y mejorar la calidad de los artículos traducidos, ¡envíanos un correo electrónico a través del formulario de contacto!
Agradecemos sus comentarios para mejorar nuestros contenidos. Si desea sugerirnos mejoras, utilice nuestro formulario de contacto o deje un comentario a continuación. Sus comentarios siempre nos ayudan a mejorar la calidad de nuestro sitio web Alucare.fr


Alucare es un medio de comunicación independiente. Apóyanos añadiéndonos a tus favoritos de Google News:

Publicar un comentario en el foro de debate