Graphiques VBA

Graphiques Excel VBA

Les graphiques peuvent être qualifiés d'objets dans VBA, comme la feuille de calcul, nous pouvons également insérer des graphiques dans VBA de la même manière, nous sélectionnons d'abord les données et le type de graphique que nous voulons pour les données, maintenant il existe deux types de graphiques différents que nous fournissons un est le graphique incorporé dans lequel le graphique se trouve dans la même feuille de données et un autre est appelé feuille de graphique où le graphique se trouve dans la feuille séparée des données.

Dans l'analyse des données, les effets visuels sont les principaux indicateurs de performance de la personne qui a effectué l'analyse. Les visuels sont la meilleure manière possible pour un analyste de transmettre son message. Comme nous sommes tous des utilisateurs d'Excel, nous passons généralement un temps considérable à analyser les données et à tirer des conclusions avec des chiffres et des graphiques. Créer un graphique est l'art à maîtriser et j'espère que vous avez une bonne connaissance de la création de graphiques avec Excel. Dans cet article, nous allons vous montrer comment créer des graphiques à l'aide du codage VBA.

Comment ajouter des graphiques à l'aide du code VBA dans Excel?

Vous pouvez télécharger ce modèle Excel de graphiques VBA ici - Modèle Excel de graphiques VBA

# 1 - Créer un graphique en utilisant le codage VBA

Pour créer un graphique, nous devrions avoir une sorte de données numériques. Pour cet exemple, je vais utiliser ci-dessous des exemples de données.

Ok, passons à l'éditeur VBA.

Étape 1: Démarrez la sous-procédure.

Code:

 Sous Charts_Example1 () End Sub 

Étape 2: définissez la variable comme Graphique.

Code:

 Sub Charts_Example1 () Dim MyChart As Chart End Sub 

Étape 3: Puisque le graphique est une variable d'objet, nous devons le définir .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add End Sub 

Le code ci-dessus ajoutera une nouvelle feuille en tant que feuille de graphique, pas en tant que feuille de calcul.

Étape 4: Nous devons maintenant concevoir le graphique. Ouvrir avec déclaration.

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart End With End Sub 

Étape 5: La première  chose à faire avec le graphique est de définir la plage source en sélectionnant la méthode «Définir les données source» .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData End With End Sub 

Étape 6: Ici, nous devons mentionner la plage source. Dans ce cas, ma plage source se trouve dans la feuille nommée «Sheet1» et la plage est «A1 to B7».

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") End With End Sub 

Étape 7: Ensuite, nous devons sélectionner le type de graphique que nous allons créer. Pour cela, nous devons sélectionner la propriété Type de graphique .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End With End Sub 

Étape 8: Ici, nous avons une variété de graphiques. Je vais sélectionner le graphique « xlColumnClustered ».

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub 

Ok, en ce moment, exécutons le code en utilisant la touche F5 ou manuellement et voyons à quoi ressemble le graphique.

Étape 9: Modifiez maintenant les autres propriétés du graphique. Pour changer le titre du graphique ci-dessous est le code.

Comme ça, nous avons de nombreuses propriétés et méthodes avec des graphiques. Utilisez chacun d'eux pour voir l'impact et apprendre.

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Sales Performance" End With End Sub 

# 2 - Créer un graphique avec la même feuille Excel que la forme

Pour créer le graphique avec la même feuille de calcul (feuille de données) que la forme, nous devons utiliser une technique différente.

Étape 1: Déclarez d'abord trois variables d'objet.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object End Sub 

Étape 2: définissez ensuite la référence de la feuille de calcul.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets ("Sheet1") End Sub 

Étape 3: définissez maintenant l'objet de plage dans VBA

Code:

 Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") End Sub 

Step 4: Now set the chart object.

Code:

 Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") Set MyChart = Ws.Shapes.AddChart2 End Sub 

Step 5: Now, as usual, we can design the chart by using the “With” statement.

Code:

 Sub Charts_Example2() Dim Ws As Worksheet 'To Hold Worksheet Reference Dim Rng As Range 'To Hold Range Reference in the Worksheet Dim MyChart As Object Set Ws = Worksheets("Sheet1") 'Now variable "Ws" is equal to the sheet "Sheet1" Set Rng = Ws.Range("A1:B7") 'Now variable "Rng" holds the range A1 to B7 in the sheet "Sheet1" Set MyChart = Ws.Shapes.AddChart2 'Chart will be added as Shape in the same worksheet With MyChart.Chart .SetSourceData Rng 'Since we already set the range of cells to be used for chart we have use RNG object here .ChartType = xlColumnClustered .ChartTitle.Text = "Sales Performance" End With End Sub 

This will add the chart below.

#3 – Code to Loop through the Charts

Like how we look through sheets to change the name or insert values, hide & unhide them. Similarly to loop through the charts we need to use chart object property.

The below code will loop through all the charts in the worksheet.

Code:

 Sub Chart_Loop() Dim MyChart As ChartObject For Each MyChart In ActiveSheet.ChartObjects 'Enter the code here Next MyChart End Sub 

#4 – Alternative Method to Create Chart

We can use the below alternative method to create charts. We can use the Chart Object. Add method to create the chart below is the example code.

This will also create a chart like the previous method.

Code:

 Sub Charts_Example3() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As ChartObject Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") Set MyChart = Ws.ChartObjects.Add(Left:=ActiveCell.Left, Width:=400, Top:=ActiveCell.Top, Height:=200) MyChart.Chart.SetSourceData Source:=Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Sales Performance" End Sub