Créer un graphique en chandeliers, Excel VBA

Créer un graphique en chandeliers, Excel VBA

Voici un code détaillé en VBA pour créer un graphique en chandeliers (candlestick chart) dans Excel, avec des explications à chaque étape. 

1. Ouvrir l’éditeur VBA

Pour ajouter ce code VBA dans Excel : 

  1. Ouvrez Excel. 
  2. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA. 
  3. Allez dans Insertion > Module pour ajouter un nouveau module. 
  4. Collez le code ci-dessous dans la fenêtre du module. 

2. Code VBA pour créer un graphique en chandeliers

Sub CreerGraphiqueChandeliers() 
    ' Déclaration des variables 
    Dim ws As Worksheet 
    Dim graph As ChartObject 
    Dim rangeData As Range 
    ' Référence à la feuille active 
    Set ws = ActiveSheet 
    ' Définir la plage de données à partir de laquelle le graphique sera créé 
    ' Exemple de données : les colonnes A (Date), B (Ouverture), C (Haut), D (Bas), E (Fermeture) 
    Set rangeData = ws.Range("A1:E10") ' Modifiez la plage selon vos données 
    ' Création du graphique 
    Set graph = ws.ChartObjects.Add(Left:=100, Width:=500, Top:=100, Height:=300) 
    graph.Chart.SetSourceData Source:=rangeData 
    ' Définir le type de graphique comme étant un graphique en chandeliers 
    graph.Chart.ChartType = xlStockOHLC ' Utilisation du type de graphique OHLC (Open-High-Low-Close) 
    ' Ajouter des titres pour chaque axe et le graphique 
    graph.Chart.HasTitle = True 
    graph.Chart.ChartTitle.Text = "Graphique en Chandeliers" 
    ' Personnaliser l'axe des X (date) 
    With graph.Chart.Axes(xlCategory) 
        .CategoryNames = ws.Range("A2:A10") ' Plage des dates 
        .TickLabelPosition = xlLow 
    End With 
    ' Personnaliser l'axe des Y (valeurs) 
    With graph.Chart.Axes(xlValue) 
        .MinimumScale = 0 ' Valeur minimale (peut être ajustée selon vos données) 
        .MaximumScale = 100 ' Valeur maximale (peut être ajustée selon vos données) 
    End With 
    ' Personnaliser les couleurs des bougies 
    With graph.Chart.SeriesCollection(1) 
        .UpFill.ForeColor.RGB = RGB(0, 255, 0) ' Vert pour les bougies haussières 
        .DownFill.ForeColor.RGB = RGB(255, 0, 0) ' Rouge pour les bougies baissières 
        .Border.Color = RGB(0, 0, 0) ' Bordure noire 
    End With 
    ' Afficher la légende (si nécessaire) 
    graph.Chart.HasLegend = False 
End Sub

3. Explication du Code

1. Déclaration des variables : 

  • ws fait référence à la feuille de calcul active. 
  • graph est l’objet qui contiendra le graphique créé. 
  • rangeData fait référence à la plage de données que nous utiliserons pour créer le graphique. 

2. Plage de données : 

  • Le graphique en chandeliers nécessite quatre types de données : 
  • Ouverture (Open) 
  • Haut (High) 
  • Bas (Low) 
  • Fermeture (Close) 
  • Dans cet exemple, les données sont dans les colonnes A à E, de la ligne 1 à la ligne 10 (A1:E10). Vous pouvez ajuster cette plage selon vos besoins. 

3. Création du graphique : 

  • Le graphique est créé avec la méthode ChartObjects.Add. Cela ajoute un graphique dans la feuille de calcul active. 
  • SetSourceData Source:=rangeData définit la plage de données pour le graphique. 

4. Type de graphique : 

  • Le graphique est défini comme étant un graphique en chandeliers avec xlStockOHLC. 

5. Personnalisation des axes : 

  • L’axe des catégories (en X) représente les dates. Le code CategoryNames définit ces dates comme étant la colonne A (A2:A10). 
  • L’axe des valeurs (en Y) est configuré avec des valeurs minimum et maximum. 

6. Personnalisation des couleurs : 

  • Les bougies haussières (prix de clôture > prix d’ouverture) sont coloriées en vert, tandis que les bougies baissières sont coloriées en rouge. 
  • La bordure des bougies est définie en noir. 

7. Affichage de la légende : 

  • La légende du graphique est désactivée avec HasLegend = False. Vous pouvez la réactiver si nécessaire. 

4. Utilisation du Code

  1. Après avoir collé le code, vous pouvez l’exécuter en appuyant sur F5 dans l’éditeur VBA, ou bien vous pouvez créer un bouton dans votre feuille Excel et lier ce bouton à cette macro. 
  2. Une fois que vous exécutez le code, un graphique en chandeliers sera généré sur la feuille active en utilisant les données spécifiées dans la plage. 

5. Exemple de données

Voici un exemple de données que vous pouvez utiliser pour tester le code : 

Date  Ouverture  Haut  Bas  Fermeture 
01/12/2024  100  105  98  102 
02/12/2024  102  106  100  104 
03/12/2024  104  108  103  107 
04/12/2024  107  110  106  109 
05/12/2024  109  111  108  110 

N’oubliez pas de modifier la plage de données dans le code pour qu’elle corresponde à la vôtre. 

Conclusion 

Ce code crée un graphique en chandeliers de manière simple et personnalisable. Vous pouvez ajuster les plages de données, les couleurs, et d’autres paramètres pour l’adapter à vos besoins. 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x