Lien entre Internet Explorer et VBA excel

Bonjour,

J’ai un petit souci avec mon code pour une application que permet de contrôler google maps.
Voici mon code

Dim IE As Object
Set IE = CreateObject(“InternetExplorer.Application” ) 'crée un objet internet Explorer
IE.Visible = True
IE.Navigate “http://maps.google.fr/maps?hl=fr&tab=il
IE.Document.all(“saddr” ).Value = “tours”
IE.Document.all(“daddr” ).Value = “lyon”
IE.Document.all(“btnG” ).Click 'clique sur le bouton…

Une erreur intervient lorsque je clique sur le bouton à cause du sript de la page.
Lorsque j’utilise le site simplifié “http://maps.google.fr/?output=html&f=d”, cela marche très bien.

Merci de m’aider, j’ai essayé pas mal de trucs mais je n’arrive pas à contrôler le script de la page.

Précise l’erreur tout de même…

Pourquoi tu utilises tab=il ? Ca te positionne sur l’onglet intinéraire ?
Sinon
1- est-tu sûr que ta page est bien chargée au moment où tu fais tes affectations saddr et daddr ?
2- est-tu sûr de cliquer le bon objet ?
Tu mets un point d’arrêt sur la dernière ligne
Quand le pg s’arr^te de dessus, dans la fenêtre d’exécution immédiate, tu tapes
x = Document.all(“btnG” ).Value
? x
et tu vérifie qu’il retourne bien le nom du bouton
(Plusieurs objets peuvent avoir le même nom sur la feuille)

Excel me renvoi l’erreur 438 : propriété ou méthode non gérée par cette objet.

Je suis sur que la page est chargé quand je doit cliquer sur le bouton.
Lorsque je veut avoir la valeur du bouton, il se produit la même erreur.
Dans la page internet, il y a en effet plusieurs objets “btnG” (3) mais je ne sais pas comment choisir l’un plutôt que l’autre étant donné qu’il sont en javascipt et que je ne connaît pas les commandes pour les gérer depuis Excel.
Merci.

Si tu en as 3, et si on fait l’analogie avec getElementsByName(), tu devrais pouvoir écrire
IE.Document.all(“btnG”)(0).Value
IE.Document.all(“btnG”)(1).Value
IE.Document.all(“btnG”)(2).Value

ou IE.Document.all.btnG(0).Value etc.

Avec un peu de chance, leur contenu ne va pas être le même, et quand tu auras essayé le bon, tu tenteras le click()

Tu as essayé de faire en deux étapes (une qui fait tout jusqu’au navigate, l’autre qui fait le click) pour voir si justement la page était bien chargée?

Ou pas à pas?

Désolé pour le retard, je viens de trouver, IE.Document.all(“btnG”)(2).Value permet de cliquer sur le bouton, il fallait simplement lui indiquer sur lequel appuyé dans les trois de la page.
Merci à ceux qui m’ont aidé.