Erreur 438 internet explorer

Bonjour, je sollicite encore votre aide parce que je n'arrive pas à solutionner mon problème et que je patauge sur ça depuis un bon moment déjà. Il s'agit de faire un clic sur un champ dans internet. J'ai pris tel quel un code qui est montré dans une vidéo et rien à faire, ça ne fonctionne pas. J'ai deux erreurs. La première est 438 et l'autre est 424, objet requis. Pourtant, dans la vidéo, ça fonctionne sans problème. Est-ce que je dois cocher quelque chose dans Visual Basic pour que ça fonctionne???? C'est un code très simple. Mes messages d'erreurs sont les deux lignes ie.document.all

voici le code:

Sub fillinternetform()

Dim IE As Object
Set IE = CreateObject("internetexplorer.application")

IE.navigate "http://www.google.com"
IE.Visible = True

While IE.Busy
DoEvents
Wend

IE.document.all("q").Value = ThisWorkbook("feuil1").Range("a1")
IE.document.all("btnk").click

End Sub

Si quelqu'un peut me donner une solution et m'expliquer surtout pourquoi ça ne fonctionne pas, j'apprécierais beaucoup.

merci de votre aide!

J'ai trouvé une partie du problème. J'ai essayé à partir d'une autre vidéo et j'avais les mêmes problèmes. Mais j'ai trouvé l'erreur. Les IDs pour le site ne sont plus les mêmes. Je les ai changés et ça fonctionne maintenant sauf que le click ne fonctionne toujours pas... Je n'ai plus de message d'erreur mais rien ne se passe lorsque la commande passe. Quelqu'un aurait une idée?

voici le nouveau code modifier:

Sub roundedrectangle1_click()
Set objie = CreateObject("internetexplorer.application")

objie.navigate ("http://www.bestbuy.com")

objie.Visible = True

Do
DoEvents
Loop Until objie.readyState = 4

pagesource = objie.document.body.outerHTML
objie.document.getElementById("ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_TxtSearchKeyword").Value = "bose radio"
objie.document.getElementById("ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_TxtSearchKeyword").click

Do
DoEvents
Loop Until objie.readyState = 4
MsgBox "the dishes are done duude"
End Sub

merci de votre aide.

J'ai trouvé le problème. Le ID change lorsque l'on clic dessus. voici le code qui fonctionne si ça peut aider quelqu'un...

nouveau code:

Sub roundedrectangle1_click()
Set objie = CreateObject("internetexplorer.application")

objie.navigate ("http://www.bestbuy.com")

objie.Visible = True

Do
DoEvents
Loop Until objie.readyState = 4

objie.document.getElementById("ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_TxtSearchKeyword").Value = "bose radio"
objie.document.getElementById("ctl00_MasterHeader_ctl00_uchead_GlobalSearchUC_BtnSubmitSearch").click

Do
DoEvents
Loop Until objie.readyState = 4
MsgBox "the dishes are done duude"
End Sub

Pour ceux qui comme moi galère pour trouver des réponses, je vous explique:

lorsque Internet explorer est ouvert sur votre page, faite 'F12' pour avoir le code. Sélectionner la flèche et pointer sur l'endroit désiré. Le code s'inscrit dans la fenêtre du bas. Dans mon cas, le ID pour faire la recherche est différente du ID pour activer le bouton. Pour ce faire, il a fallu que j'actionne le bouton et que je regarde le code pour trouver la réponse.

Si jamais vous avez des questions, il me fera plaisir de vous répondre.

Rechercher des sujets similaires à "erreur 438 internet explorer"