VBA Web Scraping exceller
โก Rรฉsumรฉ intelligent
Exploration de sites Webping avec VBA extracinsertion directe de donnรฉes TS provenant de pages Web HTML dans Excel, grรขce ร l'automatisation d'Internet Explorer et Microsoft Bibliothรจque d'objets HTML permettant de naviguer sur un site, de lire un tableau HTML et d'รฉcrire les valeurs collectรฉes dans les cellules d'une feuille de calcul.

Qu'est-ce que le Data Scrap ?ping?
Data scraping est la technique qui aide extracextraire les informations souhaitรฉes d'une page web HTML et les enregistrer dans un fichier local sur votre ordinateur. Ce fichier local est gรฉnรฉralement un fichier Excel, un fichier Word ou tout autre type de fichier. Microsoft Application bureautique. Elle permet de centraliser les informations essentielles provenant de la page web.
Data scraping Cela devient prรฉcieux dans le cadre d'un projet de recherche qui dรฉpend quotidiennement d'Internet. Prenons l'exemple d'un trader qui utilise une macro Excel pour extraire des informations de marchรฉ d'un site web financier et les importer dans une feuille Excel grรขce ร VBA.
Comment prรฉparer la macro Excel avant l'extraction de donnรฉesping (Internet Explorer)
Certaines opรฉrations prรฉalables doivent รชtre effectuรฉes sur le fichier macro Excel avant de dรฉmarrer l'extraction de donnรฉes.ping processus.
Les conditions prรฉalables sont les suivantes :
รtape 1) Ouvrez une macro Excel et accรฉdez ร l'option Dรฉveloppeur d'Excel.
รtape 2) Sรฉlectionnez l'option Visual Basic sous l'onglet Dรฉveloppeur.
รtape 3) Insรฉrez un nouveau module.
รtape 4) Initialiser une nouvelle sous-routine.
Sub test() End Sub
Le module donnerait le rรฉsultat suivant :
รtape 5) Accรฉdez ร l'option Rรฉfรฉrence sous l'onglet Outils et consultez la rรฉfรฉrence Microsoft Bibliothรจque d'objets HTML et Microsoft Contrรดles Internet.
Les fichiers suivants doivent รชtre rรฉfรฉrencรฉs dans le module, car ils permettent d'ouvrir Internet Explorer et facilitent la crรฉation de scripts macro.
Le fichier Excel est maintenant prรชt ร interagir avec Internet Explorer. L'รฉtape suivante consiste ร intรฉgrer des macros qui facilitent l'extraction de donnรฉes.ping en HTML.
Comment ouvrir Internet Explorer avec Excel VBA
รtape 1) Initialisez la variable dans la sous-routine comme indiquรฉ ci-dessous.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
รtape 2) Pour ouvrir Internet Explorer ร l'aide de VBA, saisissez ie.Visible = True et appuyez sur F5.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument ie.Visible = True
Le module se prรฉsenterait comme suit :
Comment ouvrir un site web dans Internet Explorer en utilisant VBA
Voici les รฉtapes ร suivre pour ouvrir un site web dans Internet Explorer en utilisant VBA.
รtape 1) Une fois que vous pouvez accรฉder ร Internet Explorer ร l'aide d'Excel VBA, l'รฉtape suivante consiste ร accรฉder ร un site web ร l'aide de VBA. Ceci est facilitรฉ par l'attribut Navigate, oรน le URL est transmis entre guillemets doubles. Suivez les รฉtapes indiquรฉes.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE
รtape 2) Appuyez sur F5 pour exรฉcuter la macro. La page Web suivante s'ouvrira comme indiquรฉ.
La macro Excel est maintenant prรชte ร exรฉcuter le processus.ping fonctions. L'รฉtape suivante montre comment l'information peut รชtre extracmodifiรฉ depuis Internet Explorer ร l'aide de VBA.
Comment extraire des informations d'un site web ร l'aide de VBA
Supposons qu'un trader souhaite accรฉder quotidiennement aux donnรฉes du site web. ร chaque clic sur le bouton, les donnรฉes de marchรฉ devraient รชtre automatiquement importรฉes dans Excel.
Sur le site web mentionnรฉ ci-dessus, il est nรฉcessaire d'examiner un รฉlรฉment et d'observer comment les donnรฉes sont structurรฉes.
รtape 1) Accรฉdez au code source HTML ci-dessous en appuyant sur Ctrl + Shift + Je.
<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>
Le code source serait le suivant :
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document
Comme vous pouvez le constater, les donnรฉes sont structurรฉes sous forme d'un tableau HTML unique. Par consรฉquent, pour extraire l'ensemble des donnรฉes de ce tableau, vous devez concevoir une macro qui collecte les donnรฉes sous forme de collection.
La collection est ensuite collรฉe dans Excel. Pour obtenir les rรฉsultats souhaitรฉs, suivez les รฉtapes ci-dessous.
รtape 2) Initialisez le document HTML dans la sous-routine.
รtape 3) Initialisez l'รฉlรฉment de collection prรฉsent dans le document HTML.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
รtape 4) Initialisez les cellules de la feuille Excel ร l'aide d'une boucle imbriquรฉe comme indiquรฉ.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Excel peut รชtre initialisรฉ ร l'aide de l'attribut Range ou de l'attribut Cells de la feuille. Afin de simplifier le script VBA, les donnรฉes de la collection sont initialisรฉes dans l'attribut Cells de la Feuille 1 du classeur.
Une fois le script macro prรชt, associez la sous-routine ร un bouton Excel et quittez le module VBA. Nommez le bouton ยซ Actualiser ยป ou tout autre nom appropriรฉ. Dans cet exemple, le bouton sโappelle simplement ยซ Actualiser ยป.
รtape 5) Appuyez sur le bouton Actualiser pour obtenir le rรฉsultat ci-dessous.
รtape 6) Comparez les rรฉsultats obtenus dans Excel avec ceux obtenus dans Internet Explorer.











