Google import du résultat de recherche en A1

Bonjour à toutes et à tous,

Je vous souhaite une belle journée,

Je n'arrive pas à importer dans excel le résultat de ma recherche qui s'affiche dans Google :

image

Mes recherches m'ont permis de trouver ce code :

Option Explicit

Sub Web_Table_Option_One()
Dim xml    As Object
Dim html   As Object
Dim objTable As Object
Dim result As String
Dim lRow As Long
Dim lngTable As Long
Dim lngRow As Long
Dim lngCol As Long
Dim ActRw As Long
Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
With xml
.Open "GET", "https://", False
.send
End With
result = xml.responseText
Set html = CreateObject("htmlfile")
html.body.innerHTML = result
Set objTable = html.getElementsByTagName("table")
For lngTable = 0 To objTable.Length - 1
        For lngRow = 0 To objTable(lngTable).Rows.Length - 1
            For lngCol = 0 To objTable(lngTable).Rows(lngRow).Cells.Length - 1
                ThisWorkbook.Sheets(1).Cells(ActRw + lngRow + 1, lngCol + 1) = objTable(lngTable).Rows(lngRow).Cells(lngCol).innerText
            Next lngCol
        Next lngRow
        ActRw = ActRw + objTable(lngTable).Rows.Length + 1
    Next lngTable
End Sub

J'ai poussé plus avant mes recherches en fonction de mes connaissances
Après avoir saisi mon adresse :
J'ai fait un clic droit sur la ligne résultat et ouvert les codes "inspecter" qui donnent en "éléments :
les infos suivantes : title="Rechercher".value=value="137 avenue edmond grasset 17000 la rochelle"

J'ai refait 2 codes :
l'un pour saisir mon adresse :

Sub Ouvrir()
    Dim fichier As String
    On Error Resume Next
    [h9].Copy
    fichier = "https://google
10google-import.xlsm (177.41 Ko)
"
    ShellExecute 0, "", fichier, "", "", 0
End Sub

et l'autre (ne riez pas pas LOL) pour importer l'adresse :

Sub titre()
[a1] = Title = "Rechercher"
End Sub

Mais je n'ai pas réussi à importer l'adresse.
Je joins le fichier test ... vous sauriez comment faire ?

Avec mes remerciements,
Je continue mes recherches mais .....
lionel,

Bonjour,

Que voulez-vous importer ? L'adresse, vous l'avez bien saisie sur Google ou sur votre fichier ? L'intérêt me semble limité pour ne pas dire nul.

Et ce n'est pas un sujet que je maîtrise, mais il me semble que vous ne puissiez rien récupérer à partir de vos macros personnelles.

Seule la première définit des variables et le document HTML notamment. Dans cette variable html, se trouvent les nombreux composants de la page, que vous pouvez récupérer sur des cellules à condition de les cibler correctement. Exemple, avec votre macro 1 :

[a1].value = html.Title.value

Je ne garantis pas que ça marche mais c'est la marche à suivre. Pour correctement cibler les éléments HTML, vous pouvez taper sur F12 et cliquer sur ce qui vous intéresse.

Cordialement,

Re-Bonjour à toutes et à tous,

je poursuis mes recherches et il semblerait qu'avec le contrôle activeX "Microsoft Web Browser", on puisse importer une page active d'un site.

Mais je n'arrive à insérer l'objet et je ne comprends pas pourquoi ???

sans titre

J'utilise windows10 64 et office365FR en 64.

Pourriez-vous me dire comment faire ?

Un grand merci par avance,

lionel

Bonjour 3GB,

Merci pour m'avoir répondu, je n'y connais rien également en importation web.

OUI c'est l'adresse saisie que je veux importer.

J'ai tenté "[a1].value = html.Title.value" et ça me dit : erreur 424 Objet requis.

lionel,

Oui, parce que VBA n'absorbe toute l'information à sa disposition de façon autonome.

Il faut qu'on lui ordonne en définissant des variables et en leur affectant un "objet", ici la page HTML en l'occurrence. Sur votre macro Ouvrir, rien n'est possible car il y a juste le lancement d'internet (on ouvre). Et sur l'autre, n'en parlons pas, il n'y a aucune variable.

Il faut déjà rassembler toutes vos sous procédures sur le même module avec une procédure mère qui exécute les autres, et éventuellement des variables publiques en haut de module.

Mais bref, le code que vous avez récupéré fonctionne probablement très bien. Si vous le reprenez à la ligne Set html, vous pouvez le personnaliser à votre convenance. Ex :

Option Explicit

Sub RecupTitre()

Dim xml    As Object
Dim html   As Object
Dim HTMLElement
Dim ValCherchee

Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
With xml
    .Open "GET", "https://", False
    .send
End With
Set html = CreateObject("htmlfile")

'MARCHE A SUIVRE GROSSIERE EN ATTENDANT QUE QUELQUUN DE PLUS COMPETENT VOUS EXPLIQUE MIEUX
HTMLElement = html.getelementsbytagname("xxx").item(X) 'vous ciblez à l'aide d'un getelement (byclass,id,name,tagname), ainsi que l'item)
ValCherchee = HTMLElement.value (vous récupérer la valeur de l'attribut visé)

[a1].value = ValCherchee

end sub

Mais pour cela, il faut inspecter les éléments du code de la page avec F12 et la souris (le pointeur).

Et dans votre fenêtre variables locales (dans l'éditeur VBA), vous regardez ce que contiennent vos variables HTML.

Cordialement,

Merci pour vos efforts

Mais je n'y comprends pas grand chose;. Je vais tenter de voir selon votre proposition,

lionel,

Quand on ne maîtrise pas le développement, c'est en effet assez complexe d'effectuer ce genre d'opérations. Je vous conseille donc de vous former sur Google, de tenter de vous connecter automatiquement à votre boîte mail, pour commencer, en ciblant les éléments de la page internet, comme je vous l'ai dit :

touche F12, clic sur l'image ressemblant à une souris, et cliquer sur l'élément à examiner.

Là, la partie du code apparaît et vous avez les différents "attributs" (ma terminologie n'est probablement pas la bonne) de l'élément.

Vous pouvez ensuite agir sur l'élément, via ses attributs, que vous pouvez récupérer par les fonctions getelement(s).

ex : mon élément a un attribut Id = "123", je saisis dans VBA

Set HTMLElement = html.getelementbyid("123")

Puis on peut agir sur cet élément ou extraire certaines informations.

Cordialement,

Merci 3GB, je vais voir

Rechercher des sujets similaires à "google import resultat recherche"