Afin de rendre la gestion de mon portefeuille boursier plus dynamique j’ai souhaité pouvoir importer automatiquement les cours de bourse dans Excel. Après de nombreuses recherches j’ai enfin trouvé la solution idéale : L’utilisation d’une macro Excel qui exploite une API Yahoo Finance. Et pour rendre les choses encore plus simple le site Market Index propose de télécharger un classeur Excel en exemple. Très facile alors de récupérer la macro dans votre propre fichier Excel.
Démonstration du fonctionnement
Commençons par une démonstration.
Tout d’abord téléchargez le classeur de démonstration disponible sur Market Index.
Ouvrez le classeur et acceptez l’exécution des macros.
Un tableau contenant une quinzaine de valeurs vous est alors proposé. Toutes les données présentées sont récupérées directement sur Yahoo Finance. Pour chaque valeur on a tout un tas d’informations dont la dernière valeur du cours en colonne F. Il suffit de cliquer sur le bouton Click To Download Data pour récupérer les informations à jour.
Les 2 premières lignes du tableau servent à définir et formater la requête effectuée chez Yahoo Finance, aucune raison d’y toucher sauf si vous voulez tout remodeler mais ça ne sert à rien soyons efficace. En effet puisque le tableau est bien fait, vous allez pouvoir le récupérer tel quel dans votre classeur excel qui vous sert à gérer votre portefeuille.
Ajouter vos propres titres au tableau
J’ai ajouté au tableau les titres que j’ai personnellement en portefeuille. Il y en a peu car j’investis essentiellent dans 3 trackers indiciels (ETF) qui me permettent de couvrir quasiment toute la planète.
Pour ajouter vos propres titres ce n’est pas aussi évidement que cela pourrait paraître. Il faut en effet trouver le code Yahoo Finance qui correspond à vos actions. Pour cela rendez-vous sur Yahoo Finance et recherchez le nom de votre titre.
Dans cet exemple mon ETF Amundi qui est un fond ayant comme objectif de suivre l’index MSCI World porte le code CW8.PA. C’est ce code que vous devez reporter dans la colonne Code du tableau.
Un simple clic sur le bouton Click To Download Data va actualiser le cours.
Magique non !
Intégrer le tableau et la macro à votre classeur Excel existant
Si vous avez déjà un classeur pour gérer votre patrimoine boursier vous pouvez tout simplement récupérer le tableau du classeur de démonstation ainsi que la macro associée.
Pour cela faite un clic droit sur l’onglet Yahoo Share Data du classeur Excel de démonstration, sélectionner Déplacer ou copier et copiez la feuille Excel dans votre classeur personnel. Celui ci doit être ouvert bien entendu.
Il faut également récupérer la macro associée. Pour cela affichez l’onglet Développeur dans Excel, puis cliquez sur Visual Basic.
Sélectionnez le Module 1 du classeur de démonstration
Et copier / coller la macro dans le Module 1 de votre classeur personnel. Idem celui le classeur cible doit être ouvert.
Et enfin vous devez également modifier le caractère de décimale par défaut dans votre classeur Excel en remplaçant la virgule par le point.
Désormais lorsque vous utilisez le cours de l’action dans une formule, pointez sur la bonne case de l’onglet Yahoo Share Data. Un petit clic sur Click To Download Data lorsque vous ouvrez votre classeur et tout se met à jour.
Mdr j’utilisais cette fonctionnalité depuis au moins 10 ans. Si qq’un a une solution je veux bien participer au développement.
Bonjour, j’ai le même problème, sur 2 PC différents avec des fichiers Excel différents. Cela semblerait venir du serveur ?
Très preneur d’une solution. Merci
Bonjour,
A priori Yahoo bloque l’accès à son API depuis le 2 novembre … je n’ai pas plus de détail pour l’instant.
https://www.marketindex.com.au/yahoo-finance-api
OC.
D’autres infos sur ce forum : https://www.elitetrader.com/et/threads/looks-like-yahoo-download-api-is-now-dead-11-1-2017.314661/
OC.
bonjour j’utilise votre macro pour importer les cours de bourse de mon portefeuille en temps reel et je vous en remercie; depuis hier plantage de la macro erreur d’exécution 1004 ligne .Refresh BackgroundQuery:=False
avez vous une solution ? merci