Bonjour à toutes et à tous,
Je viens vers vous car après moultes recherches, je n'ai pas trouvé chaussure à mon problème 😀
Le but de mon code est d'ouvrir une page web IE, d'aller sur un site contenant une liste déroulante, et changer la valeur de la liste déroulante automatiquement afin d'avoir le filtre voulu à l'ouverture de la page.
Voici le bout de HTML qui m'est utile
Voici le bout de code qui ne fonctionne pas (avec modification de l'URL car celle ci est confidentielle )
Ce code qui marche pour d'autres site (déjà testé sur 3sites différents), me met une erreur pour le site de mantis (hébergé sur des serveurs chez des partenaires) au niveau de la première ligne de la boucle d'attente, sur le READYSTATE_COMPLETE. J'ai l'erreur suivante "Error 80010108 l'objet invoqué s'est déconnecté de ses clients"
Pour résoudre ce problème j'avais modifié la boucle d'attente pour mettre
Mais ensuite j'ai une erreur sur la ligne d'après "erreur 80004005 erreur automation, erreur non spécifié"
Et lorsque je n'ai pas cette erreur (par miracle parfois 😱) j'ai une erreur sur la ligne qui suis "erreur d'execution, objet requis"
J'ai l'impression que toutes ces erreurs sont liées au même problème, Donc si je règle la première les autres devraient s'en aller. Mais ce n'est pas une mince affaire
J'ai émis l'hypothèse très probable que cela vienne du site (puisque ça marche avec d'autres) mais je n'ai pas plus de précisions. 😕
Si quelqu'un à une idée sur le problème exacte, et pourquoi pas la solution qui va avec , il aura ma reconnaissance à vie 😀
Merci d'avance !
Je viens vers vous car après moultes recherches, je n'ai pas trouvé chaussure à mon problème 😀
Le but de mon code est d'ouvrir une page web IE, d'aller sur un site contenant une liste déroulante, et changer la valeur de la liste déroulante automatiquement afin d'avoir le filtre voulu à l'ouverture de la page.
Voici le bout de HTML qui m'est utile
HTML:
<form method="get" name="list_queries_open" action="view_all_set.php">
<input type="hidden" name="type" value="3" />
<select name="source_query_id" onchange="document.forms.list_queries_open.submit();"> <option value="-1">[Effacer le filtre]</option>
<option value="-1"></option>
<option value="2209" >Backlogs_Mantis</option><option value="2207" >Mantis_Ouvertes</option><option value="2208" >Mantis_Traitees</option> </select>
<input type="submit" name="switch_to_query_button" class="button-small" value="Utiliser le filtre" />
</form>
Code:
Sub ListeDeroulante()
'Selectionner une valeur dans une liste déroulante
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim htmlTagCol As IHTMLElementCollection
Dim htmlSelectElem As HTMLSelectElement
'Ouvre la page Web
IE.Navigate "https://mantis. .php"
IE.Visible = True
'------------------Erreur sur la boucle d'attente qui suis------------------
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set IEDoc = IE.document
'On va sur l'objet qui contient la liste des indices
Set htmlSelectElem = IEDoc.all("source_query_id")
'On sélectionne l'indice "ter" via sa valeur unique
htmlSelectElem.Value = "2209"
End Sub
Ce code qui marche pour d'autres site (déjà testé sur 3sites différents), me met une erreur pour le site de mantis (hébergé sur des serveurs chez des partenaires) au niveau de la première ligne de la boucle d'attente, sur le READYSTATE_COMPLETE. J'ai l'erreur suivante "Error 80010108 l'objet invoqué s'est déconnecté de ses clients"
Pour résoudre ce problème j'avais modifié la boucle d'attente pour mettre
Code:
While IE.readyState < 4 And errCount < 10
DoEvents
' this is an up-to-one-second delay
errCount = errCount + 1
Wend
Mais ensuite j'ai une erreur sur la ligne d'après "erreur 80004005 erreur automation, erreur non spécifié"
Et lorsque je n'ai pas cette erreur (par miracle parfois 😱) j'ai une erreur sur la ligne qui suis "erreur d'execution, objet requis"
J'ai l'impression que toutes ces erreurs sont liées au même problème, Donc si je règle la première les autres devraient s'en aller. Mais ce n'est pas une mince affaire
J'ai émis l'hypothèse très probable que cela vienne du site (puisque ça marche avec d'autres) mais je n'ai pas plus de précisions. 😕
Si quelqu'un à une idée sur le problème exacte, et pourquoi pas la solution qui va avec , il aura ma reconnaissance à vie 😀
Merci d'avance !
Dernière édition: