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):

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
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?")

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.