Problème d'accès à l'objet HTML "document" via VBA

thib0

XLDnaute Nouveau
Bonjour,

J'essaye de mettre au point une macro qui me permettrait d'interagir via une macro avec une application intranet afin d'effectuer des commandes de matériel à partir d'une liste Excel.

Mon problème est que je n'arrive pas accéder à l'objet HTML "document" je ne peux donc pas aller saisir mes données dans les zones concernées.

Voici la première partie de mon code :

Sub commande ()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputAZoneTexte As HTMLInputElement
Dim InputABouton As HTMLInputElement

'Chargement d'une page Web
IE.navigate "http://e(j'ai caché l'adresse, c'est un site intranet)"

'Affichage de la fenêtre IE
IE.Visible = True

'On attend le chargement complet de la page
WaitIE IE


'On pointe le membre Document
Set IEDoc = IE.document

C'est la que ça devient compliqué à ce niveau le débogueur m'affiche :

Erreur d'exécution -'2147417848 (80010108)
Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.

J'ai mis un espion sur l'objet IE et je m'aperçois qu'il m'indique <aucune variables>
Pourtant j'ai bien les références « Microsoft Internet Controls » et « Microsoft HTML Object Library ».
Et je visualise parfaitement le code HTML via mon navigateur.
D'ailleurs quand je remplace l'URL par celle de google l'espion m'affiche correctement et le code marche bien.

Je pense que le site doit être protégé mais si quelqu'un a une solution elle sera la bienvenue



Merci d'avance

PS : J'utilise Windows 7 professionnel, Excel 2007, internet explorer V8
 

david84

XLDnaute Barbatruc
Re : Problème d'accès à l'objet HTML "document" via VBA

Bonjour,
j'ai testé avec l'adresse du forum et pas de problème mais il faut cependant attendre que la page soit complètement chargée. Piur cela utiliser une boucle Do Loop :
Code:
Sub test()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputAZoneTexte As HTMLInputElement
Dim InputABouton As HTMLInputElement

'Chargement d'une page Web
IE.navigate "http://www.excel-downloads.com/"

'Affichage de la fenêtre IE
IE.Visible = True

'On attend le chargement complet de la page
Do
   DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE

'On pointe le membre Document
Set IEDoc = IE.document
End Sub
A+
 

thib0

XLDnaute Nouveau
Re : Problème d'accès à l'objet HTML "document" via VBA

Bonjour,

Merci de m'avoir répondu, c'est vrai sur Excel Downloads ça marche parfaitement

Mais dès que je vais sur mon site intranet :
- Ca bloque à : Loop Until IE.readyState = READYSTATE_COMPLETE ( il me dit que l'objet s'est déconnecter de ses client, pourtant l'url reste la même)
j'ai l'impression que la page ne renvoie pas d'information readystate (vieille applicatipon)

J'ai même essayer de mettre un simple sleep (pendant 5sec histoire que ça charge bien mais toujours aucune variable)

J'en ai parlé a un collègue informaticien, il me dit d'essayer avec firefox, peut on le lancer à partir d'exel ?
Il m'as aussi parlé de la fenêtre javascrit qu'il y avait peut être un "Auto-apprentissage" comme sur exel, avez vous des infos la dessus ?
 

david84

XLDnaute Barbatruc
Re : Problème d'accès à l'objet HTML "document" via VBA

Bonjour,
J'en ai parlé a un collègue informaticien, il me dit d'essayer avec firefox, peut on le lancer à partir d'exel ?
Explique moi ce que cela changerait de le lancer avec FireFox ? SI cela fonctionne avec une URL de type ExcelDownload c'est peut-être du côté de ton réseau Intranet qu'il faut voir.
Je ne pense pas qu'existe un objet COM qui puisse piloter FireFox dans Excel. Voir peut-être ici pour en installer un.
Sinon on peut ouvrir FireFox via la commande Shell mais après pour le piloter réellement...
A+
 

thib0

XLDnaute Nouveau
Re : Problème d'accès à l'objet HTML "document" via VBA

Bonjour,

En fait avec firefox on peut installer un module pour écrire des macros et interagir avec exel, j'ai vu le module en question mais j'en suis réduit au même point car je n'ai pas de session administrateur et je ne peut rien installer ...
Il faut maintenant que je vienne avec mon ordi perso et installer cygwin ou quelque chose du style sur mon pc pro pour pouvoir enfin bosser dessus ...

Bref merci pour vos réponse et si vous avez une idée n'hésitez pas ...
 

lotomate

XLDnaute Nouveau
Re : Problème d'accès à l'objet HTML "document" via VBA

ATTENTION !
Dans Vista et Windows 7, il est indispensable de désactiver l'UAC
- soit manuellement : panneau de configuration / comptes et protection des utilisateurs / comptes d'utilisateurs / modifier les paramètres de controle de compte d'utilisateur / mettre le niveau de protection au minimum
- soit en modifiant les bases de registre (éventuellement par macro) : passer HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA à 0.

Cordialement.
 

lotomate

XLDnaute Nouveau
Re : Problème d'accès à l'objet HTML "document" via VBA

ATTENTION !
Dans Vista et Windows 7, il est indispensable de désactiver l'UAC
- soit manuellement : panneau de configuration / comptes et protection des utilisateurs / comptes d'utilisateurs / modifier les paramètres de controle de compte d'utilisateur / mettre le niveau de protection au minimum
- soit en modifiant les bases de registre (éventuellement par macro) : passer HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA à 0.
 

Statistiques des forums

Discussions
314 656
Messages
2 111 610
Membres
111 224
dernier inscrit
Test66