Bonjour,
Après plusieurs recherches dans le forum, je ne parviens toujours pas à résoudre mon problème d'update d'une page web après le changement d'une valeur dans un menu déroulant de cette même page web.
Voici le code de la page web en question:
Par défaut c'est donc la valeur "10 résultats pas page" qui est cochée, mais je souhaite faire afficher 50 valeurs par page.
Voici mon code VBA:
j'ai essayé afin de faire cet update:
HyperT(1).Click 'ne fait rien
HyperT(1).FireEvent ("onclick") 'ne fait rien
maPageHtml.parentWindow.execScript "document.forms[0].submit();" 'ne fait rien
La ligne de code "HyperT(1).Options(2).Selected = True" modifie bien la valeur de la liste déroulante dans la page web, mais ce n'est pas pris en compte 😡
Si vous avez des idées, je suis preneur.
Merci d'avance
Après plusieurs recherches dans le forum, je ne parviens toujours pas à résoudre mon problème d'update d'une page web après le changement d'une valeur dans un menu déroulant de cette même page web.
Voici le code de la page web en question:
<select name="resultsPerPage" onChange="changeCurrentRpp2()">
<option selected="true">10</option>
<option >20</option>
<option >50</option>
<option >100</option>
</select>
Par défaut c'est donc la valeur "10 résultats pas page" qui est cochée, mais je souhaite faire afficher 50 valeurs par page.
Voici mon code VBA:
Dim IE As Object
Dim maPageHtml As HTMLDocument, HyperT As IHTMLElementCollection
Dim Helem As IHTMLElementCollection, Htable As IHTMLElementCollection
'activaton d'internet explorer
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.adresse"
While IE.Busy
Wend
Set maPageHtml = IE.document
'remplissage des champs de la page internet afin de faire la recherche
Set Helem = maPageHtml.getElementsByTagName("input")
Helem("keywords").innerText = "toluene"
Helem("image2").Click
While IE.Busy
Wend
'une fois sur la page résultat, faire afficher 50 résultats par page
Set HyperT = maPageHtml.getElementsByTagName("select")
HyperT(1).Options(2).Selected = True
'ou HyperT(1).selectedIndex = 2 ---> ça fonctionne aussi
'il me manque une ligne afin d'updater la page
While IE.Busy
Wend
j'ai essayé afin de faire cet update:
HyperT(1).Click 'ne fait rien
HyperT(1).FireEvent ("onclick") 'ne fait rien
maPageHtml.parentWindow.execScript "document.forms[0].submit();" 'ne fait rien
La ligne de code "HyperT(1).Options(2).Selected = True" modifie bien la valeur de la liste déroulante dans la page web, mais ce n'est pas pris en compte 😡
Si vous avez des idées, je suis preneur.
Merci d'avance