Récupération de données HTML
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:
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 :
Code:
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 |
Le but était d'identifié la valeur grâce au nom de la span class : "cotation"
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.