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
wsest la feuille de calcul où se trouvent les données.chartObjest l’objet graphique (le graphique en entonnoir) que nous allons créer.rngest 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")
wsfait référence à « Sheet1 » (à ajuster selon votre feuille de calcul).rngest 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.Addcré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
xlFunneldé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.