Créer un graphique en anneau, Excel VBA

Créer un graphique en anneau, Excel VBA

Voici un code VBA détaillé pour créer un graphique en anneau dans Excel, avec des explications étape par étape : 

Étapes pour créer un graphique en anneau avec VBA dans Excel 

1. Préparer les données dans Excel : Avant d’exécuter le code VBA, assurez-vous que vous avez des données structurées. Par exemple, une table avec des catégories et des valeurs : 

Catégorie  Valeur 
40 
30 
20 
10 

2. Accéder à l’éditeur VBA

  • Ouvrez votre fichier Excel. 
  • Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA. 
  • Cliquez sur Insertion puis Module pour créer un nouveau module. 

Copier le code VBA suivant dans le module : 

Sub CreerGraphiqueAnneau() 
    ' Déclaration des variables 
    Dim ws As Worksheet 
    Dim chartObj As ChartObject 
    Dim plage As Range 
    ' Définir la feuille de travail et la plage de données 
    Set ws = ThisWorkbook.Sheets("Feuille1")  ' Remplacez "Feuille1" par le nom de votre feuille 
    Set plage = ws.Range("A1:B5")  ' Remplacez "A1:B5" par la plage de vos données 
    ' Créer un graphique en anneau 
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) ' Définir la position et la taille du graphique 
    chartObj.Chart.SetSourceData Source:=plage  ' Définir la source des données du graphique 
    ' Modifier le type de graphique en anneau 
    chartObj.Chart.ChartType = xlDoughnut  ' Le type de graphique en anneau est xlDoughnut 
    ' Personnaliser le graphique (optionnel) 
    With chartObj.Chart 
        ' Ajouter un titre au graphique 
        .HasTitle = True 
        .ChartTitle.Text = "Répartition des catégories" 
        ' Modifier la couleur de chaque segment 
        .SeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)  ' Rouge 
        .SeriesCollection(1).Points(2).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)  ' Vert 
        .SeriesCollection(1).Points(3).Format.Fill.ForeColor.RGB = RGB(0, 0, 255)  ' Bleu 
        .SeriesCollection(1).Points(4).Format.Fill.ForeColor.RGB = RGB(255, 255, 0)  ' Jaune 
        ' Afficher les étiquettes de données 
        .ApplyDataLabels ShowValue:=True, ShowPercentage:=True      
        ' Optionnel : Ajouter une légende 
        .HasLegend = True 
    End With 
End Sub

Explication détaillée du code : 

1. Déclaration des variables

  • ws : Représente la feuille de travail dans laquelle se trouve le graphique. 
  • chartObj : Représente l’objet graphique (le graphique que nous allons créer). 
  • plage : Représente la plage de données à utiliser pour le graphique. 

2. Définir la feuille de travail et la plage de données

  • Set ws = ThisWorkbook.Sheets(« Feuille1 ») : Définit la feuille de travail où se trouvent vos données. Modifiez le nom de la feuille si nécessaire. 
  • Set plage = ws.Range(« A1:B5 ») : Définit la plage de données qui sera utilisée pour le graphique. Changez la plage selon vos données. 

3. Création du graphique

  • Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) : Crée un objet graphique dans la feuille de travail. Ici, nous définissons la position (en pixels) et la taille (largeur et hauteur) du graphique. 
  • chartObj.Chart.SetSourceData Source:=plage : Associe la plage de données à la source du graphique. 

4. Définir le type de graphique

  • chartObj.Chart.ChartType = xlDoughnut : Définit le type du graphique en anneau (Doughnut Chart). 

5. Personnalisation (optionnel)

  • With chartObj.Chart : Ouvre une section pour personnaliser le graphique. 
  • .HasTitle = True : Ajoute un titre au graphique. 
  • .ChartTitle.Text = « Répartition des catégories » : Définit le texte du titre du graphique. 
  • .SeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) : Modifie la couleur des segments du graphique (ici, le premier segment devient rouge, le deuxième vert, etc.). 
  • .ApplyDataLabels ShowValue:=True, ShowPercentage:=True : Affiche les étiquettes de données sur le graphique avec les valeurs et les pourcentages. 
  • .HasLegend = True : Ajoute une légende au graphique. 

Exécution du code : 

  1. Après avoir collé le code dans le module, fermez l’éditeur VBA. 
  2. Revenez dans Excel, appuyez sur Alt + F8 pour ouvrir la fenêtre des macros. 
  3. Sélectionnez CreerGraphiqueAnneau et cliquez sur Exécuter. 

Le graphique en anneau sera généré sur la feuille spécifiée avec les données que vous avez définies. 

Conclusion : 

Ce code crée un graphique en anneau en utilisant les données définies dans une plage et permet une personnalisation (titre, couleurs, légende, etc.). Vous pouvez ajuster les paramètres et les plages selon vos besoins pour l’adapter à différents scénarios. 

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