VBA - piloter une page internet explorer à partir d'Excel

Victoire

XLDnaute Nouveau
Bonjour à tous,

Je vous contacte car j'ai le problème suivant: je souhaite, à partir d'un fichier excel, aller récupérer des informations sur un site internet où il faut que je me logge avec un nom d'utilisateur et un mot de passe. J'ai quelques notions de VBA, mais je n'y connais pas grand chose, j'ai trouvé quelques codes sur internet que j'essaie d'adapter, j'arrive à ouvrir la page web en question, mais impossible de m'y logger. j'ai toujours la même erreur qui revient, en rouge dans le code ci-dessous :

Sub recherche()
'déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputLogin As HTMLInputElement
Dim InputPassword As HTMLInputElement
Dim Inputconnexion As HTMLInputElement
Set IE = New InternetExplorer

'ouverture du site'
IE.Navigate2 "http://www.(siteinternet)"

'la fenêtre IE s'ouvre'

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

IE.Visible = True

Set IEDoc = IE.Document

'on sélectionne "Login"
Set InputLogin = IEDoc.all("Login")
'on insère le login'
InputLogin.Value = "nomutilisateur"

'on sélectionne "password"
Set InputPassword = IEDoc.all("Password")
'on insère le login'
InputPassword.Value = "motdepasse"
Set Inputconnexion = IEDoc.all("btLogin")
Inputconnexion.Click
IE.Visible = True

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Set IE = Nothing
Set IEDoc = Nothing

End Sub



J'obtiens l'erreur d'exécution '-2147023179 (800706b5), "Erreur Automation Interface inconnue".
J'ai bien activé les références Microsoft HTML Object Library, Microsoft Internet COntrols..

Je ne parviens pas à trouver mon erreur.

Pouvez-vous m'aider? et dites moi si je ne suis pas assez claire.
En vous remerciant d'avance

Victoire
 

camarchepas

XLDnaute Barbatruc
Re : VBA - piloter une page internet explorer à partir d'Excel

Bonjour ,

Je pense que sans savoir sur quel site tu veux te connecter , l'on ne peut vérifier l'exactitude des étiquettes.

A priori le code semble OK, mais sans le contexte ....
 

camarchepas

XLDnaute Barbatruc
Re : VBA - piloter une page internet explorer à partir d'Excel

Victoire,

Voici le code utilisé pour ouvrir la page internet :

'ouverture du site'
IE.Navigate2 "http://www.cohor.org/intranet/exploitation/slxsm/logout.asp?Lang=en-US"

Ensuite , je pense qu'en ce loggant avec le user et MdP qui va bien cela doit fonctionner.

Je te joint la photo de l'écran ou j'arrive , ce qui est normal puisque je n'ai pas de compte.
 

Pièces jointes

  • Web.xlsm
    34.8 KB · Affichages: 276

Victoire

XLDnaute Nouveau
Re : VBA - piloter une page internet explorer à partir d'Excel

Rebonjour,
Je me suis peut-être mal exprimée. Oui, j'utilise le code que j'avais écrit plus haut avec le site internet et mon login/mdp que j'ai bien sûr volontairement caché. Mais ça ne marche pas, et j'ai toujours cette même erreur d'exécution '-2147023179 (800706b5), "Erreur Automation Interface inconnue". Quand je clique sur débogage, la ligne "Do Until IE.ReadyState = READYSTATE_COMPLETE" s'affiche en jaune comme si il y avait un problème à ce niveau (chargement de la page).. je pense que lors de l'exécution, la compilation ne va même pas jusqu'au moment où le login et mot de passe doivent être tapés, et que cela s'arrête lorsque le site s'affiche.

Merci
 

Victoire

XLDnaute Nouveau
Re : VBA - piloter une page internet explorer à partir d'Excel

Haha, parce qu'avec navigate ça ne marche pas non plus donc j'ai testé navigate2 ;)

Bon.. peut-être que j'ai oublié qqchose dans mes paramétrages (références)? je ne vois pas ..

références excel VBA.jpg
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - piloter une page internet explorer à partir d'Excel

Re,

le code ci-desssous fonctionne chez moi sans erreur, sans avoir coché de référence suplémentaire...
Code:
Dim IE As Object
Dim IEDoc As Object
Dim InputLogin As Object
Dim InputPassword As Object
Dim Inputconnexion As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate "http://www.cohor.org/intranet/exploitation/slxsm/logout.asp?Lang=en-US"

Do Until IE.ReadyState = 4
    DoEvents
Loop

IE.Visible = True
 

Victoire

XLDnaute Nouveau
Re : VBA - piloter une page internet explorer à partir d'Excel

J'ai remplacé comme toi toutes mes variables par des Object, et mis Do Until IE.ReadyState = 4 / DoEvents / Loop, sans succès...
la ligne "Do Until IE.ReadyState = 4" se met de nouveau en jaune lors du débogage.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - piloter une page internet explorer à partir d'Excel

Re,

essaye cette procédure dans un nouveau classeur et placée dans un module standard :
Code:
Option Explicit
Sub recherche()
Dim IE As Object
Dim IEDoc As Object
Dim InputLogin As Object
Dim InputPassword As Object
Dim Inputconnexion As Object
Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate "http://www.cohor.org/intranet/exploitation/slxsm/logout.asp?Lang=en-US"

Do Until IE.ReadyState = 4
    DoEvents
Loop

IE.Visible = True
End Sub

fonctionne sans souci chez moi....
 

david84

XLDnaute Barbatruc
Re : VBA - piloter une page internet explorer à partir d'Excel

Bonjour à tous,
le code testé fonctionne chez moi sans possibilité de connection bien entendu.
Lorsque tu lances le code, la page internet s'affiche t-elle ou pas ?
Quelle est ta version d'Internet Explorer ?
A+
 
Dernière édition:

Statistiques des forums

Discussions
312 166
Messages
2 085 885
Membres
103 018
dernier inscrit
mohcen23