Créer des graphiques, Excel VBA

Créer des graphiques, Excel VBA

Voici un exemple de code VBA détaillé pour créer des graphiques dans Excel, avec des explications à chaque étape. 

Objectif du Code : 

Ce code crée un graphique simple à partir des données d’une feuille de calcul Excel, personnalise l’apparence du graphique, et vous permet d’ajuster les éléments du graphique comme les titres, les axes, et les couleurs. 

Code VBA pour Créer un Graphique : 

Sub CreerGraphique() 
    ' Déclare les variables pour la feuille et le graphique 
    Dim ws As Worksheet 
    Dim chartObj As ChartObject 
    Dim rangeData As Range 
    ' Affecter la feuille de calcul active à la variable ws 
    Set ws = ActiveSheet 
    ' Définir la plage de données pour le graphique (par exemple A1:B10) 
    Set rangeData = ws.Range("A1:B10") 
    ' Créer un objet graphique dans la feuille de calcul (position 100x100, taille 400x300) 
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=100, Height:=300) 
    ' Affecter les données à ce graphique 
    chartObj.Chart.SetSourceData Source:=rangeData 
    ' Définir le type de graphique (par exemple un graphique en colonnes) 
    chartObj.Chart.ChartType = xlColumnClustered 
    ' Personnaliser le titre du graphique 
    chartObj.Chart.HasTitle = True 
    chartObj.Chart.ChartTitle.Text = "Graphique des Ventes" 
    ' Personnaliser le titre de l'axe X (horizontal) 
    chartObj.Chart.Axes(xlCategory, xlPrimary).HasTitle = True 
    chartObj.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Mois" 
    ' Personnaliser le titre de l'axe Y (vertical) 
    chartObj.Chart.Axes(xlValue, xlPrimary).HasTitle = True 
    chartObj.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Ventes en $" 
    ' Changer la couleur des colonnes du graphique 
    With chartObj.Chart.SeriesCollection(1) 
        .Interior.Color = RGB(0, 112, 192) ' Couleur bleue 
    End With 
    ' Ajouter une légende (optionnel) 
    chartObj.Chart.HasLegend = True 
    chartObj.Chart.Legend.Position = xlLegendPositionBottom 
    ' Mettre à jour la feuille de calcul 
    ws.Activate 
End Sub

Explications du Code : 

1. Déclaration des Variables : 

Dim ws As Worksheet 
Dim chartObj As ChartObject 
Dim rangeData As Range
  • ws : Une variable représentant la feuille de calcul où le graphique sera ajouté. 
  • chartObj : Une variable pour le graphique lui-même. 
  • rangeData : La plage de cellules contenant les données à afficher dans le graphique. 

2. Sélection de la Feuille de Calcul Active :

Set ws = ActiveSheet 

Cette ligne affecte la feuille active à la variable ws. Cela signifie que le graphique sera ajouté sur la feuille que vous utilisez au moment de l’exécution du code. 

3. Définition de la Plage de Données : 

Set rangeData = ws.Range("A1:B10") 

La plage des données que vous souhaitez inclure dans le graphique est spécifiée ici. Cette plage doit contenir des valeurs pour les axes X et Y du graphique. 

4. Création de l’Objet Graphique : 

Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=100, Height:=300) 

Cette ligne crée un graphique sur la feuille de calcul à une position spécifique (100 pixels à gauche, 100 pixels en haut) et avec des dimensions de 400 x 300 pixels. 

5. Source des Données pour le Graphique : 

chartObj.Chart.SetSourceData Source:=rangeData

Le graphique est lié à la plage de données spécifiée précédemment, de sorte qu’il affichera les valeurs contenues dans rangeData. 

6. Définition du Type de Graphique : 

chartObj.Chart.ChartType = xlColumnClustered 

Cette ligne définit le type de graphique. Ici, il s’agit d’un graphique en colonnes groupées (xlColumnClustered). Vous pouvez changer le type de graphique en modifiant cette ligne (par exemple, pour un graphique linéaire, vous pouvez utiliser xlLine). 

7. Personnalisation du Titre du Graphique : 

chartObj.Chart.HasTitle = True 
chartObj.Chart.ChartTitle.Text = "Graphique des Ventes"

Cette section active le titre du graphique et lui donne le texte « Graphique des Ventes ». Vous pouvez personnaliser ce titre en fonction de vos besoins. 

8. Personnalisation des Titres des Axes : 

chartObj.Chart.Axes(xlCategory, xlPrimary).HasTitle = True 
chartObj.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Mois" 
chartObj.Chart.Axes(xlValue, xlPrimary).HasTitle = True 
chartObj.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Ventes en $"

Ces lignes ajoutent des titres aux axes du graphique : 

  • L’axe des X (catégorie) a pour titre « Mois ». 
  • L’axe des Y (valeur) a pour titre « Ventes en $ ». 

9. Personnalisation des Couleurs : 

With chartObj.Chart.SeriesCollection(1) 
    .Interior.Color = RGB(0, 112, 192) ' Couleur bleue 
End With

Cette section change la couleur des colonnes du graphique en bleu (utilisation de la fonction RGB). 

10. Ajouter une Légende : 

chartObj.Chart.HasLegend = True 
chartObj.Chart.Legend.Position = xlLegendPositionBottom

La légende est activée et positionnée en bas du graphique. Si vous ne souhaitez pas de légende, vous pouvez désactiver cette option en mettant HasLegend = False. 

11. Finalisation et Actualisation : ws.Activate . Cette ligne réactive la feuille de calcul après la création du graphique, ce qui vous permet de voir immédiatement le graphique dans votre fenêtre Excel. 

Conclusion : 

Ce code crée un graphique simple en utilisant VBA, mais il peut être facilement personnalisé pour répondre à vos besoins spécifiques. Vous pouvez changer la plage de données, le type de graphique, les couleurs, les titres et plus encore. 

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