Bonjour,

Je souhaite piloter depuis une macro vba une page internet qui n'est pas à ma main. Je me suis inspiré du (très bon) tuto que j'ai trouvé sur cette thématique.
Le site web en question est un peu particulier :

Nom : 2016-11-04_144112.png
Affichages : 417
Taille : 5,3 Ko

En effet il y a 2 balises <html>. Du coup j'en conclu qu'il y a 2 documents imbriqués. Au final je n'arrive pas à récupérer les objets à partir des <id> ou des <name> qui sont présents après la deuxième balise <html> (alors que j'y arrive avec le frame name ="tittlebar" par exemple)

Le code que j'utilise est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 'Initialisation des variables
   Set IE = New InternetExplorerMedium
   IE.navigate "https://xxx.fr"
   IE.Visible = True
   'attente du chargement de la page
   WaitIE IE
   'récupération du doc
   Set IEDoc = IE.document
   'récupération de la zone de texte
   Set InputECMZoneTexte = IEDoc.all("TitleBar_txtSearch")
   'récupération du bouton d'activation de la recherche
   Set InputECMSearch = IEDoc.all("TitleBar_go_button")
VBA n'arrive pas à récupérer ces infos, du coup je ne suis pas en mesure de renseigner du texte dans le formulaire <input> qui va bien, ni activer le bouton de recherche <button> pour lancer le script sur la page internet depuis mon code vba :

Nom : 2016-11-04_143635.png
Affichages : 318
Taille : 1,3 Ko

Je ne vois pas trop quelle structure je dois adopter ? Déclarer un autre document une fois mon premier document lié ?

[EDIT] En regardant, je trouve bien des items dans mon IEDoc. Sauf que celà s'arrête aux <frame> ! Comment pourrais-je de nouveau "rentrer" dans ce frame pour aller y récupérer ce que je cherche ?

[EDIT2]

On notera toutefois une exception pour l'élément <iFrame, dont la correspondance est en rouge. Le contenu de celui-ci, à savoir <html>, <head>, <title> et leurs balises de clôture respectives, n'apparaît pas dans l'objet all. Le composant iFrame est utilisé pour afficher dans le corps d'une page une autre page Web indépendante. Cette page indépendante a beau être affichée, son contenu n'est pas accessible dans l'arborescence VBA, il faudra charger cette page dans une fenêtre de navigation pour interagir avec elle.
=> Comment je charge cette page ? et surtout comment je récupère les valeurs que j'aurais injecté dedans dans ma première fenêtre IE ? et comment j'actionne le bouton (qui actionné dans la page IE de la frame seule ne sert à rien car il lance un script qui va chercher ailleurs ! )