Créer un graphique de type Stock Chart(graphique boursier), Excel VBA
Voici une explication détaillée et un code VBA pour créer un graphique de type Stock Chart(graphique boursier) dans Excel.
Graphique Boursier dans Excel
Un Graphique Boursier est utilisé pour représenter les prix des actions ou toute autre donnée qui inclut les valeurs d’ouverture, de haut, de bas et de clôture sur une période donnée. Dans Excel, vous pouvez créer un graphique boursier à l’aide de VBA en organisant correctement les données et en utilisant les fonctionnalités intégrées de création de graphiques d’Excel.
Explication étape par étape :
1. Préparation des données :
Les données pour un graphique boursier nécessitent généralement 4 colonnes :
– Date (ou période)
– Prix d’ouverture
– Prix le plus haut
– Prix le plus bas
– Prix de clôture
Les données doivent être structurées de manière appropriée, chaque ligne représentant une journée de données boursières.
2. Création du graphique :
Excel dispose d’un type de graphique « Boursier » intégré, que vous pouvez utiliser via VBA. Le graphique boursier prend en charge plusieurs variantes (Open-High-Low-Close, Volume-High-Low-Close, etc.), mais dans cet exemple, nous allons nous concentrer sur la version Open-High-Low-Close.
3. Code VBA pour créer un graphique boursier :
Voici un exemple de code VBA pour créer un graphique boursier dans Excel :
Sub CreerGraphiqueBoursier()
Dim ws As Worksheet
Dim rng As Range
Dim chartObj As ChartObject
' Référence à la feuille active
Set ws = ActiveSheet
' Définir la plage de données contenant les informations
' Supposons que les données sont dans les colonnes A à E, avec des en-têtes en ligne 1 et les données à partir de la ligne 2
Set rng = ws.Range("A1:E10") ' Ajustez la plage selon vos données réelles
' Créer un nouvel objet graphique
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
' Définir la source des données du graphique
chartObj.Chart.SetSourceData Source:=rng
' Définir le type de graphique en Boursier (OHLC)
chartObj.Chart.ChartType = xlStockOHLC
' Ajouter un titre au graphique
chartObj.Chart.HasTitle = True
chartObj.Chart.ChartTitle.Text = "Graphique des Prix Boursiers"
' Ajouter des titres aux axes
chartObj.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
chartObj.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Date"
chartObj.Chart.Axes(xlValue, xlPrimary).HasTitle = True
chartObj.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Prix"
' Formatage du graphique (optionnel)
With chartObj.Chart
.Axes(xlCategory).CategoryNames = ws.Range("A2:A10") ' Définir les noms des catégories avec les dates
.Axes(xlValue).MinimumScale = 0 ' Définir la valeur minimale pour l'axe des prix
.Axes(xlValue).MaximumScale = 100 ' Ajustez selon vos besoins
End With
End Sub
Explication du code :
-Définir la plage de données :
Le code suppose que les données du graphique boursier se trouvent dans les colonnes A à E, où la colonne A contient les dates, et les colonnes B, C, D et E contiennent respectivement les valeurs d’ouverture, de haut, de bas et de clôture. Vous pouvez ajuster la plage ws.Range("A1:E10") en fonction de vos données réelles.
– Création du graphique :
La méthode ws.ChartObjects.Add est utilisée pour créer un nouveau graphique sur la feuille active. Les paramètres Left, Width, Top, et Height définissent la position et la taille du graphique.
– Définir le type de graphique :
chartObj.Chart.ChartType = xlStockOHLC permet de spécifier que le graphique doit être de type OHLC (Open-High-Low-Close).
– Titre du graphique et des axes :
Les titres du graphique et des axes sont ajoutés à l’aide des propriétés Chart.HasTitle et Axes.HasTitle. Vous pouvez modifier le texte des titres en fonction de vos besoins.
– Formatage des axes :
La propriété CategoryNames de l’axe des catégories est définie sur les dates de la colonne A (ws.Range("A2:A10")). De plus, vous pouvez ajuster l’échelle minimale et maximale de l’axe des valeurs pour une meilleure visualisation des prix boursiers.
Personnalisation :
– Plage de données : Vous pouvez ajuster la plage A1:E10 pour inclure davantage de lignes de données boursières. Assurez-vous que les données sont dans le bon format.
– Type de graphique : Vous pouvez changer le type de graphique pour d’autres variantes boursières (par exemple, Volume-High-Low-Close) en définissant ChartType = xlStockVHLC.
– Formatage : Vous pouvez personnaliser l’apparence du graphique, comme modifier les couleurs des barres de prix, ajouter des lignes de grille, ou ajuster la mise en forme des axes.
Comment exécuter le code :
1. Ouvrez Excel et appuyez sur `Alt + F11` pour ouvrir l’éditeur VBA.
2. Insérez un nouveau module en cliquant sur `Insertion > Module`.
3. Collez le code ci-dessus dans le module.
4. Appuyez sur F5 pour exécuter la macro ou affectez-la à un bouton dans votre classeur.
Ce code générera un graphique boursier basé sur les données que vous fournissez et l’affichera dans votre feuille de calcul.