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.