Bonjour,
Je vais assez souvent sur le site de Boursorama pour suivre les cours de bourse.
Comme je ne veux pas réinventer la "poudre à canon" j'ai récupéré sur le site une code qui me convient mais j'ai quelques soucis avec et comme j'ai délaissé depuis un moment VBA je viens demander de l'aide.
voici le code que j'ai récupéré :
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 |
Le code s'exécute correctement jusqu'à cette ligne :
Set InputboursoramaZoneTexte = IEDoc.all("q")
là j'ai un message d'erreur code 13 "incompatibilité de type"
Est ce qu'il manque une déclaration de variable ? et si oui laquelle.
J'ai cherché en vain une solution dans les Cours et tutoriels Excel
Merci de votre aide
Partager