Bonjour à tous !
Je dois créer un graphique à partir d'un tableau excel, et je souhaiterai le faire sous VBA.
J'ai rédigé une macro qui fonctionne à partir d'un cours sur internet.
J'ai toutefois quelques interrogations :
En exécutant ma macro, deux classeurs apparaissent avec deux graphiques : l'un est un diagramme groupé, l'autre un diagramme empilé.
Je souhaite avoir uniquement un diagramme groupé.
Ma première question est donc la suivante : Comment se fait-il que ce deuxième digramme apparaissent, et comment le supprimer de ma macro ?
Deuxièmement, le nombre de colonnes de mon tableau est variable, je souhaiterais donc que ma macro sélectionne tout mon tableau sans que j'ai à indiquer la dernière cellule de ma plage (j'ai indiqué dans ma macro Cells(3,40)). Existe-t-il une formule permettant de sélectionner directement la "fin" du tableau ?
Enfin, mon diagramme empilé a les lignes et les colonnes inversées. Je dois donc cliquer sur le bouton "invertir les lignes et les colonnes" pour avoir le graphique voulu. Existe-t-il un code pour faire cette manipulation automatiquement sur VBA ?
Et une dernière question moins importantes : mon graphique apparait dans un nouveau classeur, est-il possible de demander à ma macro qu'il apparaissent dans ma feuille où figurent mes données sources ?
Je vous remercie tous d'avance !!!
Voici ma macro :
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Option Explicit Public Sub Graphique() Range("B1").CurrentRegion.Select 'mon tableau de données commence en B1 ThisWorkbook.Charts.Add Dim objChart As Chart, objRange As Range Dim WsF As Worksheet Set WsF = Worksheets("Final") 'Feuille Source Final Set objRange = WsF.Range(WsF.Cells(1, 2), WsF.Cells(3, 40)) Set objChart = ThisWorkbook.Charts.Add objChart.ChartType = xlColumnStacked 'création d'un histogramme empilé objChart.SetSourceData objRange, xlColumns End Sub
Marie
Partager