Excel permet de scraper des pages web sans installer le moindre outil externe. Power Query est la méthode la plus simple : quelques clics suffisent pour extraire un tableau HTML et l’importer directement dans une feuille. Pour les pages plus complexes, le VBA prend le relais et te donne plus de contrôle.
Voici comment faire du web scraping dans les deux cas.

Comment scraper une page internet vers Excel avec Power Query ?
Power Query est un outil intégré à Microsoft Excel (aussi appelé Web Query dans certaines versions) qui sert à importer, transformer et analyser des données web depuis différentes sources. Concrètement, tu peux :
- Récupérer des données web depuis un site internet, un fichier ou une base de données.
- Nettoyer ou transformer ces données avant de les analyser.
- Charger les données automatiquement dans une feuille pour que ton équipe puisse travailler sur des informations actualisées.
C’est la méthode la plus simple pour extraire des données web vers Excel, sans écrire une seule ligne de code. Voici les quatre étapes à suivre.
Étape 1 : Accéder à l’outil d’import
Dans Microsoft Excel, va dans l’onglet Données, puis clique sur Obtenir des données et enfin sur À partir du web.

Étape 2 : Coller l’URL de la page internet
Colle l’URL du site internet ou de la page qui contient les informations que tu veux extraire, puis valide.

Étape 3 : Naviguer dans le “Navigateur”
Une fenêtre s’ouvre et affiche les tables détectées. Power Query identifie automatiquement les tableaux présents dans le code de la page. Sélectionne la table qui t’intéresse, par exemple un tableau HTML, pour obtenir un jeu de données propre.

Étape 4 : Charger les données dans une feuille Excel
Clique sur Charger pour importer les données directement dans ta feuille. Tu obtiens rapidement un tableau propre, prêt à être analysé.

Pour récupérer les dernières informations du site, fais un clic droit dans ton tableau, puis clique sur Actualiser. Tu gardes ainsi des données à jour presque en temps réel.
La limite à connaître avant de te lancer
Power Query ne fonctionne qu’avec les pages HTML statiques. Si le tableau n’apparaît pas dans le Navigateur, c’est souvent que la page charge son contenu en JavaScript : sites en React, Angular, ou données qui s’affichent après un scroll.
Dans ce cas, deux options s’offrent à toi. Tu peux cibler directement l’API que le site appelle en arrière-plan, souvent visible dans les outils de développement du navigateur. Sinon, passe à la méthode VBA ou à un outil dédié comme Octoparse.
Comment scraper avec VBA et les macros Excel ?
VBA (Visual Basic for Applications) est le langage de programmation intégré à Microsoft Excel et aux autres logiciels Microsoft Office. Il te permet de :
- Automatiser des tâches répétitives dans Excel.
- Créer des macros, de petits programmes qui s’exécutent directement dans ton fichier.
- Ouvrir une page internet, extraire du texte ou des tableaux, puis les coller automatiquement dans Excel.
C’est plus technique que Power Query, mais tu gagnes un contrôle avancé : navigation entre plusieurs pages, gestion d’une connexion avec authentification, collecte de données que Power Query ne détecte pas.
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ée les objets pour gérer la requête web et le contenu HTML.url = "...": l’URL du site internet à scraper.http.Open "GET", url, False: envoie une requête HTTP pour charger la page.html.body.innerHTML = http.responseText: insère la réponse HTML dans un objet manipulable.Set tableau = html.getElementsByTagName("table")(0): cible le premier tableau de la page.- Double boucle
For i … For j …: lit chaque cellule du tableau et la colle dans la cellule correspondante d’Excel.
Attention à une limite importante. Ce code envoie une requête HTTP simple via MSXML2.XMLHTTP et récupère uniquement le HTML statique renvoyé par le serveur. Il ne peut pas exécuter le JavaScript d’une page. Sur un site moderne qui charge ses données web dynamiquement, tu obtiendras un résultat vide. Pour ces cas, il faut piloter un vrai navigateur, par exemple avec Selenium et Python.
Quand utiliser VBA pour le scraping :
- Sur les pages qui demandent une authentification (identifiant et mot de passe).
- Quand tu dois récupérer plusieurs tableaux d’une même page ou naviguer entre plusieurs pages.
- Pour automatiser la collecte de données quotidienne avec un bouton ou un déclencheur programmé.
Power Query vs. VBA : quelle méthode choisir pour scraper avec Excel ?
Le choix entre Power Query et VBA dépend de tes besoins et de la complexité du site ciblé. Voici un comparatif rapide pour t’aider à décider.
| Critère | Power Query | VBA |
|---|---|---|
| Facilité d’usage | Très simple, aucun code | Complexe, nécessite du code |
| Flexibilité | Limité aux données tabulaires | Très flexible, contrôle total |
| Courbe d’apprentissage | Faible | Élevée |
| Type de page | Pages HTML statiques uniquement | Requêtes HTTP, pages avec authentification |
| Cas d’usage | Extraction rapide de tableaux | Automatisation avancée, besoins spécifiques |
En pratique, Power Query reste le meilleur choix pour les débutants et la plupart des tâches courantes : quatre étapes suffisent pour importer des données web dans Microsoft Excel, sans écrire la moindre ligne de code.
Choisis VBA uniquement quand tu as un besoin précis que Power Query ne couvre pas : pages complexes, authentification, automatisation poussée. Pour tout le reste, Power Query te fera gagner du temps.
Quelles sont les alternatives à Excel pour le web scraping ?
Excel reste pratique, mais il montre vite ses limites sur les gros volumes de données web. Pour un projet plus ambitieux, d’autres outils prennent le relais. Certains fonctionnent sans code, d’autres demandent un peu de programmation. Tu trouveras également des outils gratuits selon tes besoins.
Outils no-code et low-code
Ces outils permettent la collecte de données web sans écrire une seule ligne de code. Tu configures ta cible via une interface visuelle, puis tu exportes le résultat au format CSV pour l’ouvrir directement dans Excel. C’est utile pour la veille marketing ou le suivi de sources internet variées.
- Bright Data : une solution professionnelle, puissante et pensée pour les gros besoins d’une entreprise.
- Octoparse : un web scraper no-code à interface simple, parfait pour débuter et exporter vers Excel en quelques clics.

Langages de programmation
Un langage comme Python te permet de scraper des sites internet de façon très flexible. Tu peux naviguer sur plusieurs pages automatiquement, gérer les sites avec authentification et assurer une collecte de données impossible à réaliser avec Power Query. C’est particulièrement utile pour une entreprise qui suit ses concurrents ou analyse ses réseaux de distribution.
Pour un projet complexe, oriente-toi vers le web scraping avec Python et BeautifulSoup. C’est la méthode la plus puissante quand la collecte de données devient régulière ou massive.
Voici un comparatif rapide des solutions qui dépassent Excel en puissance, en flexibilité et en simplicité.
| Outil / Langage | Coût | Complexité | Puissance |
|---|---|---|---|
| Excel (Power Query) | Dépend du pack Office | Facile | Basique |
| Excel (VBA) | Gratuit (avec une licence Office) | Moyenne | Moyenne |
| Bright Data | Abonnement mensuel | Moyenne | Très élevée |
| Octoparse | Abonnement mensuel | Facile | Moyenne |
| Python (BeautifulSoup, Scrapy) | Gratuit | Élevée | Très élevée |
Quels outils et ressources peuvent aider à scraper avec Excel ?
Pour aller plus loin que Power Query et VBA, tu peux combiner Excel avec des outils tiers. Ces scrapers exportent les données en CSV, un format qu’Excel ouvre directement. Tu récupères ainsi un jeu de données propre, prêt à analyser, sans écrire une ligne de code.
Voici deux options utiles selon ton besoin :
- Une extension de web scraping pour ton navigateur, comme Web Scraper sur Chrome ou Firefox. C’est l’idéal pour extraire des données d’un site internet en quelques clics, sans installation lourde.
- Le web scraping avec Python. Cette méthode demande un peu de code, mais elle gère les pages complexes que Power Query ne détecte pas.
Concrètement, choisis l’extension pour un besoin ponctuel et rapide. Passe à Python dès que tu veux automatiser une collecte de données régulière ou traiter un gros volume d’informations.
Est-ce que le web scraping est légal ?
Le web scraping est légal sous certaines conditions. Tout dépend des CGU du site, de la propriété intellectuelle et de l’usage que tu fais des données collectées.
En pratique, les données publiques sont généralement récupérables. Par contre, dès que tu touches à des données personnelles (nom, email, profil), tu entres dans le champ du RGPD, même si ces informations sont accessibles publiquement sur internet.
Avant de scraper un site, vérifie deux choses simples :
- Le fichier robots.txt du site, qui indique les pages que les robots sont autorisés ou non à explorer.
- Les conditions d’utilisation, qui interdisent parfois explicitement la collecte automatisée de données.
Pour rester serein, limite-toi à des données non personnelles et respecte le rythme du site pour ne pas le surcharger.





