Ie objet requis

Bonjour, j'ai fait un code qui me permet d'aller sur internet explorer et d'ouvrir une recherche selon une adresse et de là, je veux ouvrir la carte pour obtenir l'itinéraire mais ça ne fonctionne pas. voici mon code:

Sub CarteHotel()

    Dim IE As InternetExplorer
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
    Dim strAddHotel As String

    Set IE = CreateObject("InternetExplorer.Application")
    IE.navigate "www.google.fr"
    IE.Visible = True
    WaitIE IE

    Set iedoc = IE.document
    Set InputGoogleZoneTexte = iedoc.all("q") 'On pointe notre Zone de texte

    Sheets("travaux").Select
    strAddHotel = Range("b4").Value

    InputGoogleZoneTexte.Value = strAddHotel 'On définit le texte que l'on souhaite placer à l'intérieur
    Set FormGoogleCherche = iedoc.forms("f") 'On pointe la Form qui contient Zone de Texte + Bouton (entre autres)
    FormGoogleCherche.submit 'On exécute l'action Submit de la Form

    Set getElementsByid = iedoc.getElementsByName("lu_map") 'On pointe la Zone de l'image
    IE.document.getElementById("lu_map").Click

    'On libère la variable IE
    Set IE = Nothing
    Set iedoc = Nothing
End Sub

J'ai un message d'erreur sur la ligne : IE.document.getElementById("lu_map").Click

VBA me dit : objet requis

mais si je fait F8, ça passe sans problème, tout le reste du code s'exécute.

Est-ce que quelqu'un sais comment je peux régler se problème?

merci de votre aide.

Bonjour Infodes,

Il manque déjà des définitions de variables

Il faut utiliser un getElementsById et non getElementsByName

Voici le code correcte

Sub CarteHotel()
  Dim IE As InternetExplorer
  Dim IEDoc As HTMLDocument  ' Manque ceci
  Dim FormGoogleCherche As HTMLInputElement ' Manque ceci
  Dim ElementByid As HTMLElementCollection  ' Manque ceci
  Dim InputGoogleZoneTexte As HTMLInputElement
  Dim InputGoogleBouton As HTMLInputElement
  Dim strAddHotel As String

  Set IE = CreateObject("InternetExplorer.Application")
  IE.navigate "www.google.fr"
  IE.Visible = True
  WaitIE IE

  Set IEDoc = IE.document
  Set InputGoogleZoneTexte = IEDoc.all("q")  'On pointe notre Zone de texte

  Sheets("travaux").Select
  strAddHotel = Range("b4").Value

  InputGoogleZoneTexte.Value = strAddHotel  'On définit le texte que l'on souhaite placer à l'intérieur
  Set FormGoogleCherche = IEDoc.forms("f")  'On pointe la Form qui contient Zone de Texte + Bouton (entre autres)
  FormGoogleCherche.submit  'On exécute l'action Submit de la Form

  Set ElementByid = IEDoc.getElementById("lu_map")  'On pointe la Zone de l'image
  ElementByid.Click
  'On libère la variable IE
  Set IE = Nothing
  Set IEDoc = Nothing
End Sub

Sub WaitIE(IE As InternetExplorer)
   'On boucle tant que la page n'est pas totalement chargée
   Do Until IE.readyState = READYSTATE_COMPLETE
      DoEvents
   Loop
End Sub

A+

Bonjour BrunoM45, merci pour l'aide . J'ai déjà essayé avec getElementsById mais mais j'ai un message d'erreur: "Propriété ou méthode non géré par cet objet" et ça fonctionne avec getElementByName, je n'ai pas de message d'erreur. Et je bloque toujours sur la ligne suivante. J'ai apporté les correctifs au niveau de variables.

merci!

Re,

Quel navigateur est ouvert lorsque tu lances ton code ?

Quand tu inspectes l'élément de ta page, comment est-il référencé ?

Quel est le contenu de ta cellule B4 de la feuille travaux ?

Sinon peut-être un truc tout bête

Sub CarteHotel1()
  Dim strAdrLien As String
  strAdrLien = "http://www.google.fr/maps/place/hôtel+à+" & Sheets("travaux").Range("b4").Value
  ThisWorkbook.FollowHyperlink strAdrLien, , True
End Sub

A+

bonjour, j'utilise Internet explorer version 11, l'élément de ma page est référencé par id="lu_map" et ce que j'ai dans la cellule "B4" est l'adresse de l'hôtel que je dois trouver.

J'ai essayé le code que tu m'as donné et je l'ai modifié et ça fonctionne très bien. Mais j'aimerais quand même savoir pourquoi le getelementbyid ne fonctionne pas! Je vais en avoir besoin à plusieurs places dans mon code. As-tu une idée?

Voici le code que me donne F12:

<img width="138" height="80" title="Map of Quality Hotel Montreal East" id="lu_map" alt="Map of Quality Hotel Montreal East" src="/maps/vt/data=RfCSdfNZ0LFPrHSm0ublXdzhdrDFhtmHhN1u-gM,CCFWvDgJ8z1HYSPa8BwqpU_FOTDFGWI3SN7kCBKP6cNah34xlgAJ0KGrpdJegk2Ng8S6tnFn5ceDFs0w8qszYezhFsYCDYqYkV8eOQZMTYiy_-pOBlYeOvAI10DM9OA1FiOK" border="0">

merci pour l'aide!

Bonjour BrunoM45, j'ai pris ta méthode en fin de compte, ça simplifie de beaucoup le code et je n'ai pas besoin des ID et name, etc..

En plus, ça m'a permis de débugger un autre programme que je n'arrivais pas à faire fonctionner.

Merci beaucoup pour l'aide. Bonne fin de journée.

Rechercher des sujets similaires à "objet requis"