Erreur "le client s'est déconnecté" lors d'une manipulation web en VBA

nicaco

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je viens vers vous car après moultes recherches, je n'ai pas trouvé chaussure à mon problème :D
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>
Voici le bout de code qui ne fonctionne pas (avec modification de l'URL car celle ci est confidentielle )

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 :eek:) 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. :confused:

Si quelqu'un à une idée sur le problème exacte, et pourquoi pas la solution qui va avec , il aura ma reconnaissance à vie :D

Merci d'avance !
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
626
Réponses
8
Affichages
640

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi