Créer un graphique en forme d’entonnoir (Funnel Chart), Excel VBA

Créer un graphique en forme d’entonnoir (Funnel Chart), Excel VBA

Voici un code VBA détaillé pour créer un graphique en forme d’entonnoir (Funnel Chart) dans Excel, avec une explication complète en français.
Étapes pour créer un graphique en forme d’entonnoir avec VBA :
1. Préparez vos données : Avant de commencer à écrire le code VBA, vous devez avoir des données sous forme de tableau. Les graphiques en forme d’entonnoir sont généralement utilisés pour représenter des étapes dans un processus, donc vos données auront plusieurs étapes avec des valeurs qui diminuent (ou augmentent) à mesure que les étapes progressent.
Exemple de disposition des données :

Étape Valeur
Étape 1 100
Étape 2 80
Étape 3 60
Étape 4 40
Étape 5 20

2. Code VBA pour créer un graphique en forme d’entonnoir : Ce code VBA crée un graphique en forme d’entonnoir en utilisant les données de votre feuille de calcul Excel.

Sub CreateFunnelChart()
    ' Définir les variables
    Dim ws As Worksheet
    Dim chartObj As ChartObject
    Dim rng As Range
    ' Définir la feuille de calcul où les données sont situées (ajustez selon votre besoin)
    Set ws = ThisWorkbook.Sheets("Sheet1")
    ' Définir la plage de données (suppose que les données sont dans les colonnes A et B)
    Set rng = ws.Range("A1:B6")
    ' Créer un nouvel objet Chart
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
    ' Définir le type de graphique sur Entonnoir (disponible à partir d'Excel 2016)
    With chartObj.Chart
        .SetSourceData Source:=rng
        .ChartType = xlFunnel
        ' Personnaliser le titre du graphique
        .HasTitle = True
        .ChartTitle.Text = "Exemple de graphique en entonnoir"
        ' Personnaliser les étiquettes de données
        .ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False
        ' Personnaliser l'apparence du graphique en entonnoir
        With .SeriesCollection(1)
            .Format.Fill.ForeColor.RGB = RGB(0, 102, 204) ' Couleur des sections de l'entonnoir
            .Format.Line.Visible = msoFalse ' Supprimer les lignes autour des sections
        End With
    End With
    ' Optionnel : Ajuster automatiquement la taille du graphique
    chartObj.ShapeRange.LockAspectRatio = msoFalse
    chartObj.Width = 500
    chartObj.Height = 300
End Sub

Explication détaillée du code :
1. Définition des variables :

Dim ws As Worksheet
Dim chartObj As ChartObject
Dim rng As Range
  • ws est la feuille de calcul où se trouvent les données.
  • chartObj est l’objet graphique (le graphique en entonnoir) que nous allons créer.
  • rng est la plage de données utilisée pour générer le graphique.

2. Définition de la plage de données :

Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:B6")
  • ws fait référence à « Sheet1 » (à ajuster selon votre feuille de calcul).
  • rng est défini comme la plage contenant les données (ajustez cette plage en fonction de l’emplacement réel de vos données).

3. Création du graphique :
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)

  • ChartObjects.Add crée un nouveau graphique sur la feuille de calcul, avec une position et une taille spécifiques.

4. Définition du type de graphique :
.ChartType = xlFunnel

  • xlFunnel définit le type de graphique sur « Entonnoir ». Ce type de graphique est disponible dans Excel 2016 et les versions ultérieures.

5. Personnalisation du titre du graphique :

.HasTitle = True
.ChartTitle.Text = "Exemple de graphique en entonnoir"
  • Le titre du graphique est activé, et nous définissons le texte du titre.

6. Ajout des étiquettes de données :
.ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False

  • Cette ligne applique des étiquettes de données pour afficher les valeurs sur le graphique, facilitant la lecture des nombres associés à chaque étape.

7. Personnalisation de l’apparence :

With .SeriesCollection(1)
    .Format.Fill.ForeColor.RGB = RGB(0, 102, 204)
    .Format.Line.Visible = msoFalse
End With
  • Les sections du graphique en entonnoir sont colorées en bleu (avec la valeur RGB), et les lignes autour des sections sont supprimées pour un aspect plus propre.

8. Ajustement automatique de la taille du graphique :

chartObj.ShapeRange.LockAspectRatio = msoFalse
chartObj.Width = 500
chartObj.Height = 300
  • Cette partie du code garantit que le graphique est redimensionné pour s’adapter à une largeur et une hauteur spécifiées.

Notes importantes :

  • Versions d’Excel : Le type de graphique en entonnoir est disponible uniquement dans Excel 2016 et les versions ultérieures. Si vous utilisez une version plus ancienne, vous devrez peut-être créer un graphique en entonnoir personnalisé en utilisant un graphique à colonnes empilées et en ajustant les données et la mise en forme.
  • Format des données : Assurez-vous que vos données sont sous forme de deux colonnes : la première colonne contenant les étapes (ou catégories) et la deuxième colonne contenant les valeurs associées à ces étapes.
  • Personnalisation du graphique : Vous pouvez personnaliser davantage le graphique en ajustant les couleurs, les étiquettes ou en ajoutant une ligne de tendance, en fonction de vos besoins.

Ce script VBA générera un graphique en entonnoir professionnel avec vos données dans Excel, vous permettant de visualiser facilement la progression à travers différentes étapes.

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