Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel et objet.application(IE)

A

Alain

Guest
Bonjour,

je doit recuperer des données sur une pag web bien precise (adresse connue et fixe) proteger par un login et mot de passe

j'arrive à ouvrir Internet explorer, à remplir les champ login et password correctement depui une routine VB sous excel.

mais comment simuler l'appuis sur le bouton valider ?

de plus, ou puis-je recuperer de la doc sur les objets.application d'excel ?

merci de vos reponse...
 
M

ManuelM

Guest
L'accès a une url protégé par mot de passe (Mode UNIX/APACHE)

http://LeLOGIN:LePassWord@www.LeDomaine.xxx/LeRep/

ATTENTION a l'éventuelle faiblesse de sécurité : l'url est transmise en clair dans la trame IP et pourait être récupéré par un "sniffer".

Si tu dois absolument utilisé un formulaire , pourquoi ne pas décortiquer la balise FORM de la page concerné et émettre l'URL avec le renseignement des champs

Exemple :
<form name="Connection EXCEL" target="_blank" action="script.cgi">
<input type="text" name="Loggin">
<input type="password" name="Mot_de_Passe">
<input type="submit" name="connect" value="Se connecter">

Ton URL utilisé devient alors :
http://www.LeDomaine.xxx/LeRep/script.cgi?Loggin=TonLoggin&Mot_de_Passe=TonPassword&submit=true

Nul besoin dans ces deux cas de se préocuper du bouton "VALIDER".
 
A

Alain

Guest
cela ne marche pas

si pas de clikc sur le bouton "Valider" la page ne change pas et la fonction tourne en boucle en attendant le chargement de la nouvelle page

si dessous un exemple de la fonction que je teste actuellement


Sub ie1()

Set ie = CreateObject("InternetExplorer.Application") 'creation objet IE

ie.Visible = True

ie.Navigate ("adresse web(ici de l'intranet)")

Do While ie.ReadyState <> 4 'attend que la page soit chargee
DoEvents
Loop

ie.document.all("login").Value = "le login"
ie.document.all("password").Value = "le password"
ie.document.all("submit") = click 'je ne parvient pas a simuler le click
ie.Navigate ("javascript:logon_submit()")

Do While ie.ReadyState <> 4 'attend que la page soit chargee
DoEvents
Loop

ie.document.Selection = EntirePage 'copy de la page entiere
ie.Selection.Copy

ie.Application.Quit 'fermeture IE

Set ie = Nothing 'liberation de la variable

Sheets("Feuil2").Select 'traitement VBA
Range("A1").Select
ActiveSheet.PasteSpecial Format:="Texte", link:=False, DisplayAsIcon:=False

import1 'traitement des données recuperées

Sheets("Feuil1").Select 'heure de derniere mise à jour
Range("K8") = Time

End Sub



si tu trouve ce qui cloche

merci
 
L

LaurentTBT

Guest
Bonsoir à tous.

Sans être sûr de mon coup, essayez ceci:

Si document.all("submit") est bien un bouton (une Form en HTML), alors on peut peut-être avoir l'adresse URL qu'il déclenche avec sa propriété action, et donc:
ie.Navigate (ie.document.all("submit") .action)
reviendrait peut-être à lancer la navigation vers la nouvelle page, et permettrait de remplacer les 2 lignes:
ie.document.all("submit") = click 'je ne parvient pas a simuler le click
ie.Navigate ("javascript:logon_submit()")


D'ailleurs, un petit msgbox ie.document.all("submit") .action permettrait avant de lire cette adresse

Mais il me faudrait la page exacte pour le vérifier, car là, c'est écrit en aveugle! et je ne suis pas sur que les login et password soient pris en compte.

Bonne soirée, je croise les doigts.
Laurent.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…