Insérer un champ de recherche issue du web
Bonjour,
Voilà mon "petit" soucis ...
Je dois faire un nombre important de recherche sur un site web et en récupérer les résultats, puis les intégrer manuellement dans excel . Le soucis est que ça prend un temps fou et que c'est super répétitif et surtout pas dutout efficace.
Je cherche depuis plusieurs jours à créer un tableau dans lequel je pourrais rentrer ma recherche dans une cellule et que ça renvoi automatiquement la réponse dans une autre cellule, ce qui me permettrait de faire plusieurs recherches en même temps et donc gagner énormément de temps.
J'ai bien essayé d'utiliser differentes fonctions et recherché un petit peu partout mais rien n'y fait je bloque.
J'ai essayé de créer macro etc mais je reste bloqué.
les donnés sont du domaine public donc je peux aussi fournir l'adresse internet, peut être que je bug aussi avec le XPath query ...
merci d'avance !
Bonjour sebpercu,
Voici un exemple de base sur comment vous pourriez procéder avec VBA :
Sub WebScraping()
Dim IE As Object
Dim doc As HTMLDocument
Dim strURL As String
Dim result As String
' L'URL du site web à analyser
strURL = "http://www.example.com"
' Créez un nouvel objet Internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = False ' Le navigateur n'est pas visible
.navigate strURL ' Accède à l'URL
' Attends que la page ait fini de charger
While .Busy Or .readyState <> 4
DoEvents
Sleep 100
Wend
' Récupérez le document HTML de la page
Set doc = .document
End With
' Ici, utilisez la méthode getElementById, getElementsByClassName, getElementsByName, etc.
' pour récupérer les données que vous voulez du document HTML.
' Par exemple, si vous voulez obtenir le texte d'un élément dont l'ID est "myElement":
result = doc.getElementById("myElement").innerText
' Vous pouvez ensuite insérer le résultat dans une cellule Excel, par exemple la cellule A1 de la première feuille :
Sheets(1).Range("A1").Value = result
' Ferme Internet Explorer
IE.Quit
Set IE = Nothing
End SubDans cet exemple, vous devriez remplacer "myElement" par l'ID de l'élément HTML réel que vous voulez extraire du site web, et "http://www.example.com" par l'URL du site web que vous voulez analyser. Vous pouvez trouver l'ID d'un élément sur une page web en utilisant l'inspecteur d'éléments de votre navigateur (cliquez droit sur l'élément -> inspecter).
Si le site web est trop complexe ou si vous voulez faire du web scraping de manière plus sophistiquée, vous pourriez avoir besoin de passer à un outil plus puissant comme Python avec des bibliothèques comme BeautifulSoup ou Scrapy. J'espère que cela vous aidera !