Bonjour à tous,
J'aimerais vous exposé un problème que je rencontre depuis ce matin et malgré tous mes efforts pour trouver une solution sur les différents forum et tuto que j'ai pu voir le problème reste entier.
Mon souci est pourtant simple.
Je souhaite récupérer une valeur d'une page HTML dont voici l'extrait :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form name="select_marche" method="get" action="/cours.phtml"> <table class="info-valeur list"> <tr> <td class="label"> <b>Cours</b> Euronext Paris </td> <td> <small class="tooltip icon icon-real-time" title="Données temps réel" id="b24bb9126" ></small> <b><span id="brs-sl5727478e7c7d0"><span class="cotation">54.35 EUR</span></span></b> </td> </tr>
La valeur que je souhaite récupérer est "54.35".
Voici pour l'instant le code que j'ai testé pour parvenir à la récupérer :
Le but était d'identifié la valeur grâce au nom de la span class : "cotation"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 Sub macro4() Dim IEDoc As HTMLDocument Dim InputboursoramaZoneTexte As HTMLInputElement Dim FormboursoramaCherche As DispHTMLElementCollection Dim htmlProfil As HTMLGenericElement Dim Cotation As HTMLSpanElement Dim Generic As HTMLGenericElement Dim IE As New InternetExplorer Dim Valeur_Cours As Double Dim T As Double Dim htmlTagCol As IHTMLElementCollection Dim theElementCollection As HTMLElementCollection Dim curElement As IHTMLElement Dim HtmlElement As HTMLGenericElement Derniere_ligne_Config_Entreprise = Worksheets("Configuration").Range("A" & Rows.Count).End(xlUp).Row Ligne_en_cours_config = 3 Colonne_en_cours = 4 Ligne_en_cours_DATA = 3 Colonne_en_cours_DATA = 2 Colonne_en_cours_TIME = 1 Nom_Entreprise_En_Cours = Sheets("Configuration").Cells(Ligne_en_cours_config, 2) Adresse_Site_En_Cours = Sheets("Configuration").Cells(Ligne_en_cours_config, 3) Set IE = CreateObject("internetexplorer.application") 'Chargement d'une page Web IE.Navigate Adresse_Site_En_Cours 'On attend le chargement complet de la page Do DoEvents Loop Until IE.readyState = READYSTATE_COMPLETE And Not IE.Busy 'Création du document Set IEDoc = IE.document T = Timer Set element = IEDoc.getElementsByTagName("cotation") 'Manque de code... Sheets("Configuration").Range("B6") = Application.Round((Timer - T), 1) End Sub
Mais malheureusement il ne le trouve jamais.
De plus, les identifiants de ce chiffre change à chaque rafraîchissement de page, je parle de b24bb9126 et brs-sl5727478e7c7d0.
Peux-être ce n'est donc pas possible ?
Merci d'avance au(x) personne(s) qui prendront la peine de m'aider.
Bonne journée.
Partager