Envoyé par
amnorian
Mes étapes suivantes sont un click sur la page donc vers un autre lien (comme tu le dis) donc je comprends qu'il faut que je récupère le lien (ça j'y arrive encore) et que je le mette dans ie.navigate ?
Après je dois mettre une date, une année puis lancer le traitement donc comme tu le dis il faut que j'arrive à récupérer le nom des champs dans la page internet
Alors lien ou bouton, non tu n'es pas forcé de récupérer le lien, tout dépend du comportement que tu vas obtenir en exécutant le lien à partir du code.
Il faut que tu regarde le code source de ta page, tu trouveras ça dans les menu d'IE. Tu dois ensuite identifier ou se trouve le lien sur lequel tu es sensé cliquer. Tu devrais trouver un truc du style:
<a href="#actu_1" id="aclink_1" onclick="showActu(1);return false;" class="selected">1</a>
bien sur ça peu varier un peu. Au passage , le lien qui est executé est contenu dans "href=". Ici la partie "intéressante" c'est le "id=" aclink_1.
Colle le contenu de la ligne que tu aura trouvé stp (si rien de confidentiel bien sur)
2 cas, soit à chaque fois que tu rafraîchis la page, l'id est le même, c'est le cas le plus simple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Dim IE As InternetExplorer
Dim IEdoc As Object
Dim DOCelement As Object
Set ie = New InternetExplorer
ie.visible = True
ie.Navigate ("http://10.0.0.1/youou/etc.html")
'On boucle tant que la page n'est pas totalement chargé
Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
Set IEDoc = ie.document
IEDoc.links("aclink_1").Click 'Bien sur ici tu remplace aclink_1 par la valeur id que tu auras trouvé avant.
Set IE = Nothing
Set IEDoc = Nothing |
Le code est un peu améliorable, mais normalement la fenêtre s'ouvre.
Je fait l'impasse sur l'Id dynamique, si tu vois qu'en rafraîchissant l'ID change on fera autrement.
Maintenant dis moi si le "contenu" du lien c'est ouvert dans ta feuille IE ou si une nouvelle feuille a été lancée?
++
Qwaz
Partager