Comment peut-on travailler sur un fichier csv importer via le net ?

cs_Rozzi Messages postés 1 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 14 juin 2008 - 14 juin 2008 à 14:15
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 14 juin 2008 à 16:41
Bonjour,


Je suis jeune étudiant débutant en VBA Excel qui commence à bosser sur
le Projet. En effet, ce projet a pour objectif de tester la maitrise de
VBA et les connaissances généralistes en finance (les stats, les infos
utiles sur des séries, la possibilité d'utiliser les fonctions Excel
dans VBA, etc.). Du coup, j'ai décidé de prendre des données
historiques du CAC40 et essayer d'en tirer le plus d'information
possible : calcul de performance sur 1, 3, 5, 10 ans, volatilité,
graphique plutot boursier .. J'ai commencé par prendre une feuille
excel avec qlq infos sur le CAC40 et un bouton sur lequel est raccordé
une Macro avec un code VBA qui permet d'aller chercher les données
historiques journaliere sur 5 ans du CAC 40 sur yahoo finance. Le
fichier étant sous format CSV, j'ai du trouver un code qui permet de
convertir les données en format excel. Maintenant, je voudrais savoir
comment on pourrait inserer des fonctions et des graphiques sur la
feuille qui vient d'etre télécharger du net. C'est la chose qui bloque
pour le moment car en essayant d'insérer des fonction sum, et des
graphiques, ca ne s'affiche pas sur la feuille avec les données histo.
Es ce que vous sauriez comment s'y prendre ?


Voici ma 1ère macro qui marche très bien :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]--> 
Sub Macro2()
 
Dim objXl
Set objXl = CreateObject("EXCEL.APPLICATION")
objXl.Workbooks.OpenText Filename:="http://ichart.yahoo.com/table.csv?s=%5EFCHI&a=05&b=1&c=1993&d=05&e=13&f=2008&g=d&ignore=.csv", origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
Other:=True, OtherChar:="|", FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
objXl.Visible = True
objXl.Cells.Select
objXl.Cells.EntireColumn.AutoFit
 
EndSub
 

<!-- END TEMPLATE: bbcode_code -->Delà comment faire pour afficher
directement sur la feuille ouverte des graph, indicateur etc ...sachant
qu'on lance la macro en provenance d'une autre feuille ?


Merci

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 juin 2008 à 16:40
Salut
Je te conseille fortement de ne pas ouvrir ton fichier CSV depuis le Net, mais de le télécharger localement, puis de l'ouvrir sous Excel.
Pour programmer l'ouverture d'un fichier CSV, suffit d'enregistrer une macro pendant que tu le fais à la main

Pour tes graphiques, une fois que tu as chargé le fichier CSV, suffit, là encore, d'enregistrer une macro.
Tu enregistres ces macros dans l'environnement global de Excel et pas dans un simple classeur nominatif.
Comme ça, la prochaine fois, tu ouvres Excel et tu pourras lancer tes macros tout de suite.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 juin 2008 à 16:41
PS : Le VB de Excel est du VBA, pas du VB6
--> Modif catégorie de la question
0
Rejoignez-nous