80 likes | 159 Views
Introduction. Ateliers VBA Cours n°1 – 22.02.2013 - Création d’Interfaces Cours n°2 – 01.03.2013 - Téléchargement de données Cours n°3 – 12.04.2013 - Codage de formule Cours n°4 – xx.xx.2013 – Synchronisation des dates. Atelier n° 2. Atelier n° 2 – Téléchargement de données.
E N D
Introduction • Ateliers VBA • Cours n°1 – 22.02.2013 - Création d’Interfaces • Cours n°2 – 01.03.2013 - Téléchargement de données • Cours n°3 – 12.04.2013 - Codage de formule • Cours n°4 – xx.xx.2013 – Synchronisation des dates
Atelier n° 2 • Atelier n° 2 – Téléchargement de données
Comment récolter de l’information via Internet? • Manuellement • Aller chercher directement sur internet le fichier qui nous intéresse et le télécharger. • 2) Par Package • Base de données distribuées en OpenSource contenant l’ensemble des données historiques par type d’actifs financiers, par type de marché (SMI, SPI, FTSE, etc.) ou par activités (HedgeFund, MutualFund, Indice, etc.) • 3) Via VBA Ce que nous allons voir aujourd’hui
Web Query • Le but étant d’automatiser • ce processus réalisé «à • la main» à l’aide de VBA
Comment procéder ? • Inclure votre WebQuery directement dans votre code VBA: • Une "ligne de code" permettant d'aller chercher le liens du fichier sur internet • Un «bout de code» qui permet d'extraire les données recueillies sur internet et de les afficher comme l'utilisateur le souhaite dans son fichier Excel
Code Général • Sub SMI() • ' Cette "ligne de code" permet d'aller chercher le liens du fichier sur internet et de l'extraire dans notre fichier excel • sURL1 = "http://ichart.finance.yahoo.com/table.csv?s=%5ESSMI&d=9&e=1&f=2012&g=d&a=10&b=9&c=1990&ignore=.csv" • ' Ce "bout de code" permet d'extraire les données recueillies sur internet • Workbooks.Open sURL1 ' Ouverture de la source URL • Set RngSource = Cells(1).CurrentRegion ' Dans fichier Excel, on prend par défaut la première cellule • X = ' X = nombre de ligne que je veux qu'il m'affiche • Y = ' Y = nombre de colonne que je veux qu'il m'affiche • ' Ce "bout de code" permet de les afficher comme l'utilisateur le souhaite • With ThisWorkbook.Sheets() ' With = met place un contexte - pour la feuille n°1 du WB • Set RngDest = Range(.Cells( , ), .Cells( , )) ' Séléctionne de la celulle ligne 2 colonne 1 et tte celles jusqu'à ‘ la fin X • End With ' (.) evite de réécrire this WB • RngDest.Value = RngSource.Value ' la valeur de mon range prend la valeur de ma source • ‘ Permet de sauvegarder les données • ActiveWorkbook.Close SaveChanges:=True ' Je ferme la page WB // En sauvant les données
TP VBA II - Travail demandé • Téléchargement automatisé de données historique • pour 3 titres • depuis Yahoo Finance. • Calculer le rendement moyen pour chaque titre • Les résultats seront affichés dans une UserForm
TP VBA II - Travail demandé • -) Expliquer de façon détaillé le code que vous utilisez • -) possibilité d’effacer et recommencer le travail indéfiniment • -) bloquer l’écran lorsque l’application travaille • -) Mise en place d’une boucle permettant d’alléger le code • ( ne pas copier coller le code pour chaque titre – mais utiliser cette boucle) • -) Gérer le téléchargement via une Userform • ( ne pas voir le fichier excel) • M’envoyer par mail votre fichier xls à la fin du cours • Vous avez jusqu’à midi - Merci et bon travail !!!