Récupération de plusieurs données Yahoo Finance - VB/VBA/VBS - Programmation
MarshPosté le 10-03-2012 à 14:53:03
Bonjour, débutant en VBA, je fais appel à la communauté HFR pour me donner un coup de main.
Je dois implémenter une stratégie de portefeuille complexe alors que je débute tout juste en VBA.
La première étape est la récupération des données sur le site Yahoo. Je dispose d'un code permettant la récupération de l'historique d'un seul indice en entrant le code de l'indice (^IXID par exemple), ainsi que les dates voulues dans des cases excel :
With ActiveSheet.QueryTables.Add(Connection:="URL;" & URL_Address, Destination:=Range("A2" )) .Name = "MS_Query" .Refresh BackgroundQuery:=False End With
End Sub
Sub Update_Query() Range("Web_Query" ).QueryTable.Refresh BackgroundQuery:=False End Sub
Mon problème est le suivant : j'aimerai pouvoir récupérer les données non pas d'un seul indice mais de plusieurs. J'aimerai afficher les résultats dans une feuille différente par indice mais je ne trouve pas comment implémenter cette demande. Il faudrait par la même que toutes les données soient récupérées à partir d'un seul bouton sur demande de l'utilisateur pour plus de simplicité. La plage de date serait la même pour tous les indices.
Quelqu'un pourrait-il alors me donner un petit coup de main pour avancer dans cette étape??
Marsh Posté le 10-03-2012 à 14:53:03
Bonjour, débutant en VBA, je fais appel à la communauté HFR pour me donner un coup de main.
Je dois implémenter une stratégie de portefeuille complexe alors que je débute tout juste en VBA.
La première étape est la récupération des données sur le site Yahoo. Je dispose d'un code permettant la récupération de l'historique d'un seul indice en entrant le code de l'indice (^IXID par exemple), ainsi que les dates voulues dans des cases excel :
Sub Create_Web_Query()
URL_Address = "http://table.finance.yahoo.com/table.csv?a=1&b=1&c=1997&d=12&e=31&f=2020&s=fpl"
' ActiveSheet.QueryTables.Add Connection:="URL;" & URL_Address, Destination:=Range("A2" )
With ActiveSheet.QueryTables.Add(Connection:="URL;" & URL_Address, Destination:=Range("A2" ))
.Name = "MS_Query"
.Refresh BackgroundQuery:=False
End With
End Sub
Sub Update_Query()
Range("Web_Query" ).QueryTable.Refresh BackgroundQuery:=False
End Sub
Mon problème est le suivant : j'aimerai pouvoir récupérer les données non pas d'un seul indice mais de plusieurs. J'aimerai afficher les résultats dans une feuille différente par indice mais je ne trouve pas comment implémenter cette demande. Il faudrait par la même que toutes les données soient récupérées à partir d'un seul bouton sur demande de l'utilisateur pour plus de simplicité. La plage de date serait la même pour tous les indices.
Quelqu'un pourrait-il alors me donner un petit coup de main pour avancer dans cette étape??
Je vous remercie par avance.