bonjour F.Launay,
beau travail !! (tu ne dors jamais ??)
avant de regarder tes codes, j'envoie des macros, notamment pour trouver le cours à une date déterminée sur YAHOO et pour télécharger sur Euronext
Methodologie
1/ mise en route de l’enregistreur de macro
2/ données externes : nouvelle requête sur le web
exemple d’adresse
http://fr.moneycentral.msn.com/investor/quotes/quotes.asp?Symbol=FR%3AFR0000130007
si on active le code on obtient une page entière.
Pour sélectionner les informations : cocher « une ou plusieurs tables précises de la plage »
- entrer le nom ou n° de table : essai avec 1 on obtient également une page entière
2 = on obtient « Accueil MSN | Mon MSN | Hotmail | Rechercher | Shopping | Finances |
3 = idem … 6 = même résultat que 1, mais la page n’est pas disposée de la même manière … etc…28 donne un tableau exploitable
…. Je n’ai pas réussi à isoler le cours le cours
Je supprime ce qui est inutile pour cette requête : il reste
Sub Macro1()
Cells.Select
Selection.Clear
'Selection.QueryTable.Delete
Range("A1").Select
'----------------requète--------------
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://fr.moneycentral.msn.com/investor/quotes/quotes.asp?Symbol=FR%3AFR0000130007" _
, Destination:=Range("A1"))
.WebFormatting = xlWebFormattingNone
.WebTables = "28"
.Refresh BackgroundQuery:=False
End With
End Sub
Sur euronext l’inconvénient, c’est qu’il faut relever tous les codes manuellement
Sub Macro1()
cours = Sheets("Feuil2").Cells(1, 10)
Sheets("Feuil1").Select
Cells.Select
Selection.Clear
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.euronext.com/trader/summarizedmarket/0,4772,1679_6834,00.html?selectedMep=1&idInstrument=" & cours & "" _
, Destination:=Range("A1"))
.WebFormatting = xlWebFormattingNone
' .WebTables = "105"
.WebTables = "110" 'donne Achat
.Refresh BackgroundQuery:=False
End With
End Sub
Sur yahoo, il n’est pas nécessaire d’utiliser .WebTables : il y a une version épurée Télécharger au format tableur mais il y a encore un problème de codes propres à yahoo j’indique ce codes pour le CAC40 en Feuil2
Sub Macro1()
Cells.Select
Selection.Clear
' Selection.QueryTable.Delete
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://fr.finance.yahoo.com/d/quotes.csv?s=ACCP.PA&f=snl1d1t1c1ohgv&e=.csv" _
, Destination:=Range("A1"))
.Refresh BackgroundQuery:=False
End With
End Sub
Pour obtenir le cours à une date déterminée : dates en J , Feuil2
Résultat Feuil3
http://fr.table.finance.yahoo.com/d?b=17&a=8&c=2004&e=17&d=8&f=2004&g=d&s=ACCP.PA
Pour la mise en forme dans le portefeuille, je suis limité par le temps aujourd'hui, cependant je te fais confiance, tu dis que tu débutes mais tu as montré que tu maîtises bien vba
montre nous ton résultat ( Action3.zip est un vrai régal)
à +
albert