VBA: Obtenir code source HTML d’une page web

Le code VBA qui suit vous permet d'obtenir le code source HTML complet d'une page web. Il s'agit d'un excellent outil pour l'extraction des données d'une page internet car vous obtenez, en quelques secondes, sous forme de chaîne de caractères ( String ) tout le contenu de la page spécifiée.

VBA: Obtenir code HTML d'une page internet
Vous pouvez ensuite travailler avec cette chaîne pour en récupérer exactement le contenu que vous souhaitez. C'est une méthode idéale pour celui qui veut extraire des données à partir de l'internet de manière massive ou régulière.

Comme on ne télécharge que le code source en HTML (= du simple texte; les images, les fichiers JavaScript etc. ne doivent pas être téléchargés), la fonction est extrêmement rapide et vous permets d'obtenir le contenu (= "scraper") de centaines de pages en quelques minutes, voir secondes.

Le code de la fonction VBA qui extrait le contenu d'une page web

La fonction utilise comme paramètre le lien URL de la page web. L'utilisation ou non de la barre oblique ("/") à la fin du lien ne modifie pas la fonctionnalité. Si la page web est inaccessible ou n'existe pas, le résultat de la fonction est l'erreur #N/A ( xlErrNA ).

 

Exemple d'utilisation de l'extraction de code HTML

Pour illustrer l'utilisation de la fonction ExtraireSourceHTML(), on peut créer une petite procédure en VBA qui va extraire le code source HTML de la page d'accueil du site Wikipedia.org (https://fr.wikipedia.org). Comme résultat, un message (MsgBox) est affiché avec les premiers 350 caractères du code…

Notez que pour que le code suivant fonctionne, vous avez besoin d'ajouter dans votre Module également le code de la fonction principale – vous devez donc avoir dans votre projet deux codes VBA – la fonction même et la procédure qui suit.

Maintenant, il vous suffit de changer dans le code l'adresse URL de Wikipédia par celui que vous souhaitez et le tour est joué!

Ajoutez tout cela dans une boucle et l'Internet ne pourra plus vous résister.

Automatiser l'extraction des codes HTML avec VBA

Si vous souhaitez de créer un "webscraper" pour extraire le code HTML des pages internet de manière régulière (et en récupérer une information particulière), vous pouvez éventuellement créer un fichier "batch" pour automatiser toute votre procédure… Et le code VBA pour extraire une partie spécifique du texte pourrait également vous être utile pour extraire exactement l'information dont vous avez besoin à partir du code HTML de la page…

Pour aller plus loin en Excel et en VBA

Voici d'autres cas d'utilisation de VBA en lien avec Internet:

Et pour finir, encore quelques articles qui pourraient vous être utiles…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

15 commentaires sur “VBA: Obtenir code source HTML d’une page web”