Récup cours de bourses en auto VBA
J'ai lu cette discussion.
Citation:
Envoyé par
AlainTech
Bonjour,
Une piste à creuser:
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 56
| Sub récup_cours()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputboursoramaZoneTexte As HTMLInputElement
Dim FormboursoramaCherche As DispHTMLElementCollection
Dim htmlProfil As HTMLGenericElement
'Chargement d'une page Web boursorama
IE.Navigate "http://www.boursorama.com/bourse/"
'On attend le chargement complet de la page
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
'Affichage de la fenêtre IE
IE.Visible = True
derligne = Range("A" & Rows.Count).End(xlUp).Row
z = 2
For z = 2 To derligne
'On pointe le membre Document
Set IEDoc = IE.document
Do Until IEDoc.readyState = "complete"
DoEvents
Loop
'On pointe notre Zone de texte
Set InputboursoramaZoneTexte = IEDoc.all("q")
'On définit le texte que l'on souhaite placer à l'intérieur
InputboursoramaZoneTexte.Value = Range("A" & z).Value
'On pointe la Form qui contient Zone de Texte + Bouton (entre autres)
Set FormboursoramaCherche = IEDoc.forms("search-form")
'On exécute l'action Submit de la Form
FormboursoramaCherche.submit
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set IEDoc = IE.document
Do Until IEDoc.readyState = "complete"
DoEvents
Loop
'On va chercher un des éléments ayant un id
Set htmlProfil = IEDoc.all("content-gauche")
'Ensuite à partir de la on va chercher l'info dont on a besoin
Sheets("Feuil1").Range("B" & z) = htmlProfil.all(2).innerText
'On attend le chargement complet de la page
'd8b22Ui_Icon48
Next
'On libère les variables
IE.Quit
Set IE = Nothing
Set IEDoc = Nothing
End Sub |
A noter: Le readyState du Document
je suis nouveau sur le forum, je suis très intéressé par la discussion, mais pour mieux comprendre j'aurai souhaité pouvoir charger le fichier "cours Boursorama.xls", mais je n'y arrive pas.
la macro fonctionne bien, mais en colonne B j'aurai voulu charger les cours Est-ce possible? J'ai cherché en vain une solution dans les Cours et tutoriels Excel.
cordialement