Automatisez la récupération des données boursières, Excel VBA
Automatiser la récupération des données boursières dans Excel à l’aide de VBA peut être très utile pour les investisseurs et les analystes financiers. Le code suivant permet de récupérer les prix des actions et d’autres informations financières en utilisant une API (par exemple, Alpha Vantage, Yahoo Finance, ou même directement via une connexion web pour récupérer les données en temps réel).
Je vais vous montrer comment utiliser une API gratuite (Alpha Vantage, qui nécessite une clé API) et comment récupérer des données boursières en VBA. Ce tutoriel expliquera les étapes de récupération des données boursières et de leur affichage dans une feuille Excel.
Étape 1 : Obtenez une clé API Alpha Vantage
1. Allez sur Alpha Vantage et créez un compte.
2. Obtenez votre clé API gratuite.
Étape 2 : Créez un code VBA pour récupérer les données boursières
Suivez ces étapes pour configurer votre code VBA.
- Ouvrez l’éditeur VBA
- Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
- Allez dans Insertion > Module pour ajouter un nouveau module.
- Ajoutez le code VBA pour récupérer les données
Voici un exemple détaillé de code pour récupérer des données boursières d’Alpha Vantage en utilisant leur API. Ce code extrait le prix de clôture d’une action spécifique et l’affiche dans une cellule Excel.
Sub RecupererDonneesBoursieres() ' Déclare les variables Dim Symbol As String Dim APIKey As String Dim URL As String Dim httpRequest As Object Dim JSON As Object Dim PrixCloture As Double Dim DateDerniereCloture As String ' Entrez le symbole de l'action et la clé API Symbol = "AAPL" ' Exemple : Apple Inc. (modifiez selon l'action désirée) APIKey = "votre_cle_api" ' Remplacez par votre clé API obtenue sur Alpha Vantage ' URL de l'API Alpha Vantage (Daily Time Series) URL = "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=" & Symbol & "&apikey=" & APIKey ' Créer une requête HTTP pour récupérer les données Set httpRequest = CreateObject("MSXML2.XMLHTTP") httpRequest.Open "GET", URL, False httpRequest.Send ' Vérifiez si la requête a abouti If httpRequest.Status = 200 Then ' Analyser la réponse JSON Set JSON = JsonConverter.ParseJson(httpRequest.responseText) ' Récupérer la date de la dernière cotation et le prix de clôture DateDerniereCloture = JSON("Time Series (Daily)").Keys(1) PrixCloture = JSON("Time Series (Daily)")(DateDerniereCloture)("4. close") ' Afficher les résultats dans les cellules Excel Range("A1").Value = "Symbole" Range("B1").Value = Symbol Range("A2").Value = "Date de dernière clôture" Range("B2").Value = DateDerniereCloture Range("A3").Value = "Prix de clôture" Range("B3").Value = PrixCloture Else MsgBox "Erreur lors de la récupération des données : " & httpRequest.Status End If End Sub
Explication détaillée du code
1. Déclaration des variables :
- Symbol : Le symbole boursier de l’action (par exemple, « AAPL » pour Apple).
- APIKey : Votre clé API obtenue sur Alpha Vantage.
- URL : L’URL de l’API Alpha Vantage qui demande les données boursières quotidiennes pour le symbole spécifié.
- httpRequest : Un objet pour envoyer une requête HTTP à l’API.
- JSON : Un objet pour analyser la réponse JSON que l’API renvoie.
- PrixCloture et DateDerniereCloture : Variables pour stocker le prix de clôture et la date de la dernière cotation.
2. Récupération des données de l’API :
- Le code envoie une requête HTTP GET à l’API Alpha Vantage pour récupérer les données de l’action.
- Si la requête réussit (status = 200), la réponse JSON est analysée et la date et le prix de clôture de la dernière cotation sont extraits.
3. Affichage dans Excel :
- Les résultats sont ensuite affichés dans les cellules Excel A1, B1, A2, B2, etc.
Étape 3 : Ajouter un décodeur JSON pour VBA
Alpha Vantage renvoie les données au format JSON, mais Excel VBA ne comprend pas directement le format JSON. Pour analyser cette réponse, vous devez utiliser un module JSON, comme VBA-JSON.
Voici comment l’ajouter :
1. Téléchargez le décodeur JSON VBA-JSON.
2. Copiez le fichier JsonConverter.bas et importez-le dans l’éditeur VBA (via Fichier > Importer un fichier).
3. Le code ci-dessus utilise ce module pour analyser les données JSON.
Étape 4 : Tester et exécuter le code
1. Fermez l’éditeur VBA.
2. Dans Excel, appuyez sur Alt + F8, sélectionnez RecupererDonneesBoursieres, puis cliquez sur Exécuter.
3. Vous verrez les résultats dans les cellules spécifiées de votre feuille Excel.
Étape 5 : Personnalisation
- Vous pouvez personnaliser le symbole de l’action (par exemple, « GOOGL » pour Google) ou même automatiser la mise à jour de la liste des symboles dans votre feuille Excel.
- Vous pouvez également étendre le code pour récupérer d’autres données financières comme l’ouverture, le plus haut, le plus bas, ou le volume.
Remarque
L’API Alpha Vantage permet un nombre limité de requêtes par minute pour un compte gratuit (5 par minute). Si vous avez besoin de plus de requêtes, vous pouvez envisager d’utiliser un autre service ou un abonnement payant.