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