Créer un graphique Sunburst (Graphique en spirale), Excel VBA

Créer un graphique Sunburst (Graphique en spirale), Excel VBA

Voici un guide détaillé pour créer un graphique Sunburst (Graphique en spirale) à l’aide de VBA dans Excel. Ce type de graphique est utilisé pour représenter des relations hiérarchiques de manière circulaire. Excel nécessite des données structurées sous forme de parent-enfant pour ce type de graphique.
Étape 1 : Préparer les données
Assurez-vous que vos données sont structurées hiérarchiquement. Pour un graphique Sunburst, vous aurez besoin de colonnes représentant les niveaux hiérarchiques, comme :
1. Niveau 1 (Catégorie principale)
2. Niveau 2 (Sous-catégorie)
3. Niveau 3 (Sous-sous-catégorie, etc.)
4. Valeurs (représentant la taille de chaque segment)
Exemple de données :

Catégorie principale Sous-catégorie Sous-sous-catégorie Valeur
Catégorie A Sous A1 Sous-sous A1.1 10
Catégorie A Sous A1 Sous-sous A1.2 20
Catégorie A Sous A2 Sous-sous A2.1 15
Catégorie B Sous B1 Sous-sous B1.1 25
Catégorie B Sous B2 Sous-sous B2.1 30

Étape 2 : Ajouter le code VBA
Voici le code VBA pour créer un graphique Sunburst basé sur les données ci-dessus.

Sub CreateSunburstChart()
    Dim ws As Worksheet
    Dim chartObj As ChartObject
    Dim lastRow As Long
    Dim dataRange As Range
    ' Définir la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Modifiez le nom de votre feuille ici
    ' Trouver la dernière ligne de données
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    ' Définir la plage de données (suppose que les données commencent en A1)
    Set dataRange = ws.Range("A1:D" & lastRow)
    ' Ajouter un nouveau graphique
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=400, Top:=100, Height:=300)
    ' Définir la source de données du graphique
    chartObj.Chart.SetSourceData Source:=dataRange
    ' Définir le type de graphique en Sunburst
    chartObj.Chart.ChartType = xlSunburst
    ' Optionnel : Ajouter un titre au graphique
    chartObj.Chart.HasTitle = True
    chartObj.Chart.ChartTitle.Text = "Exemple de graphique Sunburst"
    ' Optionnel : Personnaliser le graphique (ex. format des étiquettes, couleurs)
    With chartObj.Chart
        .ApplyLayout (4) ' Appliquer un design pour un meilleur visuel
        .Legend.Position = xlLegendPositionBottom
        .Legend.IncludeInLayout = False
    End With
End Sub

Étape 3 : Explication du code
1. Feuille de calcul et plage de données :

  • Le code commence par définir la feuille de calcul (ws) où les données sont situées et calcule la dernière ligne de données (lastRow).
  • La plage de données (dataRange) est définie pour inclure les données des colonnes A à D, de la ligne 1 à lastRow.

2. Création du graphique :

  • Un nouvel objet graphique est ajouté à la feuille de calcul à l’aide de ChartObjects.Add, et sa position et sa taille sont spécifiées par les paramètres Left, Width, Top, et Height.
  • La source de données pour le graphique est définie avec SetSourceData en pointant vers la dataRange.

3. Type de graphique :

  • Le type de graphique est défini sur xlSunburst, ce qui crée un graphique Sunburst.

4. Personnalisation optionnelle :

  • Un titre est ajouté au graphique avec .HasTitle = True et en définissant le texte pour le titre du graphique.
  • Certaines mises en forme sont appliquées au graphique avec .ApplyLayout (4), ce qui peut être ajusté en fonction de vos préférences.
  • La légende est placée en bas et exclue du layout.

Étape 4 : Exécution du code
1. Ouvrez le classeur Excel dans lequel vous souhaitez créer le graphique Sunburst.
2. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
3. Insérez un nouveau module (Insertion > Module).
4. Collez le code ci-dessus dans le module.
5. Fermez l’éditeur et retournez dans Excel.
6. Appuyez sur Alt + F8, sélectionnez CreateSunburstChart, puis cliquez sur « Exécuter ».
Étape 5 : Personnalisation
Vous pouvez modifier le code pour ajuster différents aspects :

  • Taille du graphique : Changez les paramètres Left, Top, Width, et Height lors de l’ajout du graphique.
  • Design du graphique : Personnalisez le design du graphique en modifiant le layout, les couleurs et la position de la légende.

Cela vous permettra de créer un graphique Sunburst basé sur la structure hiérarchique des données dans votre feuille de calcul.

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