Pb pour actualiser une page WEB via VBA

coco_lapin

XLDnaute Impliqué
Bonjour le forum.

Je me forme sur des requêtes WEB via VBA.
L'exemple en annexe me permettra d'importer les côtes d'une liste de voitures d'occasion (j'utilise le site la centrale pour cela).

Après maintes recherches je suis bloqué étant donné que je n'arrive pas à actualiser la page WEB via le WebBrowser que j'utilise.

Je m'explique:
Sur internet lorsque je saisis la Catégorie la page est actualisé et me propose ensuite d'entrer le millésime de la voiture.
Avec le WebBrowser lorsque je saisis (via VBA) la catégorie, la page n'est pas actualisée, il faut déclencher cette actualisation ce qui me permettrais de récupérer le prochain lien URL et de continuer le traitement.

Dans le classeur en annexe je triche étant donné que je pointe sur le pochain lien URL mais normalement je ne suis pas sensé le connaître.
 

Pièces jointes

  • excelhtml.xls
    36.5 KB · Affichages: 116

coco_lapin

XLDnaute Impliqué
Re : Pb pour actualiser une page WEB via VBA

Bonjour le forum,

En fait je recherche plutôt à valider un formulaire via le webBrowser. Le mot "actualiser" était mal choisi.

Je n'arrête pas de chercher sur ce forum ou sur internet mais sans succès.
Je commence à être pessimiste pour la réalisation de mon projet.
 

coco_lapin

XLDnaute Impliqué
Re : Pb pour actualiser une page WEB via VBA

Bonjour le forum.

En fait la solution dépend de la page web. Il faut donc regarder le code HTLM de la page web pour trouver la solution.
Pour mon application la solution était le code VBA "htmlPage.form.submit
"
Voici l'ensemble du code.



Dim IE As InternetExplorer
Dim htmlPage As HTMLDocument

Dim Catégorie As HTMLObjectElement

Dim htmlElement As HTMLObjectElement

'Chargement de la page web dans un webbrowser
Userform1.WebBrowser1.Navigate ("ton site")
Do
DoEvents
Loop Until Not Userform1.WebBrowser1.Busy
Set htmlPage = Userform1.WebBrowser1.document

'Récupération du contenu des combobox de la page web

'de la catégorie
For Each htmlElement In htmlPage.all
If (htmlElement.tagName Like "SELECT") Then
'Parmi les éléments SELECT, on recherche un élément combobox:
If InStr(1, htmlElement.outerHTML, "name=sous_categorie") > 0 Then
Set Catégorie = htmlElement
For i = 1 To Catégorie.Length - 1
Cells(i, 1) = Catégorie(i).innerText
Next i
Catégorie(2).Selected = True
End If
End If
Next

'chargement de la nouvelle page
htmlPage.form.submit
Do
DoEvents
Loop Until Not Userform1.WebBrowser1.Busy
Set htmlPage = Userform1.WebBrowser1.document
 

Discussions similaires

Réponses
27
Affichages
2 K

Statistiques des forums

Discussions
312 525
Messages
2 089 341
Membres
104 127
dernier inscrit
Tantetine