Créer un graphique à bulles avec une taille variable, Excel VBA
Créer un graphique à bulles avec une taille variable dans Excel à l’aide de VBA implique plusieurs étapes clés. Le graphique à bulles est un type de graphique où chaque point de données est représenté par une bulle, dont la position sur les axes X et Y est définie par les valeurs de ces axes, et dont la taille est déterminée par une troisième variable.
Objectifs :
- Créer un graphique à bulles.
- Ajouter des données avec des valeurs X, Y et des tailles de bulles.
- Personnaliser les propriétés du graphique.
Prérequis :
Des données en colonnes avec 3 séries :
- Valeurs X (position horizontale).
- Valeurs Y (position verticale).
- Valeurs des tailles des bulles (taille des bulles).
Exemple de données :
Valeur X | Valeur Y | Taille de la bulle |
10 | 20 | 15 |
30 | 40 | 30 |
50 | 60 | 25 |
70 | 80 | 10 |
Code VBA détaillé :
Sub CreerGraphiqueABulles() ' Déclare les variables Dim ws As Worksheet Dim chartObj As ChartObject Dim chart As Chart Dim dataRange As Range ' Assigner la feuille active à la variable ws Set ws = ThisWorkbook.Sheets("Feuil1") ' Remplacez par le nom de votre feuille ' Définir la plage de données pour le graphique (par exemple de A1 à C5) Set dataRange = ws.Range("A1:C5") ' Adaptez la plage à vos données ' Créer un objet graphique Set chartObj = ws.ChartObjects.Add(Left:=100, Top:=100, Width:=500, Height:=300) ' Assigner le graphique créé à la variable chart Set chart = chartObj.Chart ' Définir le type de graphique à "Bubble" (Graphique à bulles) chart.ChartType = xlBubble ' Assigner les données au graphique chart.SetSourceData Source:=dataRange ' Configurer les séries du graphique With chart.SeriesCollection(1) ' Définir les séries X, Y et la taille des bulles .XValues = ws.Range("A2:A5") ' Valeurs X .Values = ws.Range("B2:B5") ' Valeurs Y .BubbleSizes = ws.Range("C2:C5") ' Taille des bulles End With ' Personnalisation du graphique (exemple) With chart ' Ajouter un titre au graphique .HasTitle = True .ChartTitle.Text = "Graphique à Bulles" ' Ajouter un titre aux axes X et Y .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Valeur X" .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Text = "Valeur Y" ' Personnaliser les couleurs des bulles .SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) ' Couleur des bulles en vert End With ' Affichage du graphique chartObj.Visible = True End Sub
Explications détaillées du code :
1. Déclaration des variables :
- ws : Variable qui fait référence à la feuille de travail contenant les données.
- chartObj : Objet graphique qui sera créé dans la feuille.
- chart : L’objet de graphique qui permet de manipuler le graphique créé.
- dataRange : Plage de données contenant les informations pour les valeurs X, Y, et la taille des bulles.
2. Définition de la plage de données :
- Le code fait référence à la plage des données dans la feuille de travail (A1:C5), qui contient les valeurs des axes X, Y et des tailles de bulles.
3. Création du graphique :
- La méthode ChartObjects.Add crée un graphique de type objet.
- Ensuite, on définit le type du graphique en utilisant chart.ChartType = xlBubble pour spécifier qu’il s’agit d’un graphique à bulles.
4. Configuration des données du graphique :
- XValues : La plage de données pour l’axe X.
- Values : La plage de données pour l’axe Y.
- BubbleSizes : La plage de données pour les tailles des bulles.
5. Personnalisation du graphique :
- Ajout d’un titre au graphique et aux axes.
- Personnalisation de la couleur des bulles (ici, elles seront vertes).
- Vous pouvez ajuster davantage le graphique (ex. changer la couleur, le titre, les étiquettes, etc.).
6. Affichage du graphique :
- chartObj.Visible = True s’assure que le graphique est visible après sa création.
Personnalisation :
Vous pouvez ajuster :
- La taille des bulles en modifiant les valeurs dans la colonne des tailles.
- Le style du graphique, la couleur des bulles, et d’autres propriétés visuelles.
- La plage de données peut être ajustée en fonction de la position et de la taille de votre propre jeu de données.
Remarque :
Pour exécuter ce code, vous devez ouvrir l’éditeur VBA dans Excel (Alt + F11), créer un nouveau module et y coller ce code. Ensuite, vous pouvez l’exécuter avec F5 ou l’appeler via un bouton dans votre feuille de travail.