Bonjour à tous,
Je cherche à créer une fonction qui irait chercher le cours d'une action sur internet (via le site Yahoo Finance), en fontion du symbole de l'action que j'aurais entré dans une cellule voisine sur Excel.
Je prends l'exemple de l'action ayant pour symbole D-UN.TO, la page correspondante dans Yahoo Finance est l'URL http://finance.yahoo.com/q?s=d-un.to&ql=1 et l'élément à aller chercher possède l'ID yfs_l84_d-un.to cela marche a priori avec n'importe quel symbole et n'importe quelle action.
En m'inspirant d'une macro que j'ai trouvé dans un tutoriel sur le net, j'ai créé la fonction suivante (en galérant un peu car je suis un pur débutant en VBA):
Hélas, il fallait s'y attendre, cela ne fonctionne pas lorsque par exemple je saisi mon symbole dans la cellule A5 et qu'en A6 je rente "=GetQuote(A5)" (Excel me retourne "#NOM?")
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 Function GetQuote(symbol) Dim ie As InternetExplorer, doc As HTMLDocument, ticker As String, quote As String ticker = symbol.Value Set ie = CreateObject("InternetExplorer.Application") ie.navigate "http://finance.yahoo.com/q?s=" & ticker & "&ql=1" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document quote = doc.getElementById("yfs_l84_" & ticker).innerText GetQuote = quote End Function
Au passage, j'avoue ne pas comprendre la totalité du code que j'utilise... j'ai simplement tenté d'adapter le code de la macro que j'ai trouvée dans cette vidéo :
Quelqu'un pourrait-il m'aider à obtenir la fonction souhaitée?
En vous remerciant par avance,
Bien cordialement.
Partager