update d'un select d'une page web VBA

gg44

XLDnaute Nouveau
[résolu]update d'un select d'une page web VBA

Bonsoir,
a partir d'une feuille excel, je pilote une page web afin d'y importer du texte.
mon problème est que je dois selectionner une valeur dans un "select" puis faire un submit d'un formulaire.
en fait la sélection une valeur dans le "select" valide automatiquement le formulaire. En même temps il n'y qu'une valeur dans le select. le pb c'est la valeur par defaut du select qui est blanc (vide).
savez vous s'il existe un moyen de simuler une selection dans le select de la page web ?
j'ai cherché et je bloque après la selection du select en vba.

Ci dessous le code :
merci pour vos précieuses lumières /
Code:
Sub piloterPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls

Dim i As Integer
Dim ie As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection

Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True

ie.navigate "http://www.monsite.fr"

Do Until ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attend la fin du chargement

Set maPageHtml = ie.document

Set Helem = maPageHtml.getElementsByTagName("input")

Dim Hsel As IHTMLElementCollection

Set Hsel = maPageHtml.getElementsByTagName("select")


Helem(1).innerText = "login" ' je renseigne le login.

Helem(2).innerText = "mdp" ' je renseigne le mot de passe.

Helem(3).Click 'on simule le clic pour valider la connexion de la page

ie.navigate "url de la page contenant mon select"
 
Dernière édition:

gg44

XLDnaute Nouveau
Re : update d'un select d'une page web VBA

Bonjour, j'ai bien avancé car j'arrive à récupérer le nom de mon select.
J'ai fouillé sur le forum et je n'ai toujours rien trouvé.

En fait je ne peux vous donner le lien car il s'agit d'une page sécurisée qui me permet d'accéder à mes fiches clients. Le problème est que je sélectionne le nom de mon client dans une liste (Sel_Client) et lorsque je selectionne un formulaire recharge automatiquement la ge et me donne acces à la fiche client !!! le code lorsque je change la valeur du select est

Code:
onChange="document.forms[0].submit();"

Ce que je souhaiterais c'est remplir le select avec une valeur (nom client) et qu'il me ramène la fiche donc il faut faire l'équivalent du onchange !!
A votre humble avis cela est il possible ?
Merci.
Jerome
 

gg44

XLDnaute Nouveau
[RESOLU]Re : update d'un select d'une page web VBA

Salut pour ceux que cela intéresse j'ai trouvé la solution à mon problème.
il faut repérer le numéro ordre du select dans la page de manière à lui affecter la valeur souhaitée puis valider le formulaire comme dans la page html d'origine.

Code:
Set ie2 = CreateObject("InternetExplorer.Application")
ie2.Visible = True

ie2.navigate "http://www.ladressedu site"

Do Until ie2.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attend la fin du chargement

Set maPageHtml2 = ie2.document
 
'je déclare  la variable qui va récupérer la liste les select de la page

Set Hsel = maPageHtml2.getElementsByTagName("select")

'Comme le select concerné est le premier dans ma page, il correspond au numéro "0".
'Donc je selectionne le select "0" et je lui affecte la valeur 1 qui correspond à la 2eme valeur affichée dans le select

Hsel(0).selectedIndex = 1 ' parametre la zone de recherche

pour finir je simule la validation de mon formulaire avec execScript pour executer du javascript.
on pourrait aussi insérer une fonction javascrpt si nécessaire.

maPageHtml2.parentWindow.execScript "document.forms[0].submit();" ', "Javascript"

'ie2.Quit
Voilà merci à tous.
J'espère que cela vous aidera.
jerome
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
634

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma