Bonjour a tous!
Voila je débute sous VBA, et ça fait une bonne semaine que je bloque sur un problème de syntaxe. J'ai cherché dans des tutos et forums, mais je n'ai pas trouvé de réponse!
En fait je souhaite créer des graphiques (PieChart) sachant que:
* mes données sont en lignes et non en colonnes.
* ces lignes peuvent varier suivant le choix dans une listBox.
* ces lignes peuvent être choisies sur trois feuilles différentes suivant le choix dans une deuxième listBox.
ça commence a faire beaucoup, d'où les problèmes de syntaxe!
Voici le code que j'ai écrit:
**************************************************************
Private Sub PieChart_Click()
'Definition des variables
Dim NumPage As Integer
Dim NumLine As Integer
NumPage = ListBox1.ListIndex + 1
'le premier nom est a la ligne 10
NumLine = ListBox2.ListIndex + 10
'creation du PieChart
Dim chtOb As ChartObject
Set chtOb = Sheets("Summary").ChartObjects.Add(100, 100, 250, 175)
With chtOb.Chart
.ChartType = xlPie
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Sheets(NumPage).Range("D1:J1")
.SeriesCollection(1).Values = Range(Cells(NumLine, 4), Cells(NumLine, 10))
.SeriesCollection(1).Name = Sheets(NumPage).Cells(NumLine, 1).Value
End With
End Sub
**************************************************************
Mes données se trouvent a la ligne: NumLine entre la colonne D et la colonne J, et la feuille a sélectionner se trouve sur le feuillet numéro: NumPage.
J'aimerais que les graphes que je créer se trouve sur un page résumé intitulé: Summary, d'où le "Sheets("Summary").ChartObjects.Add...". Pour l'instant je lance manuellement ma macro, et lorsque mon curseur reste sur la page Summary, les graphes apparaissent tout vide! alors que lorsque mon curseur est sur une des trois pages de données, les graphes apparaissent avec les données!
Enfin, je pense qu'il faut aussi qu'une fois un graphe est crée, je trouve un moyen de reinitialiser les .XValues et .Values car sinon j'ai toujours le meme graphe!
Voila, j'ai essaye de bien expliquer ma demarche, du coup le message est bien long
Merci a tous ceux qui pourront m'aider!
Voila je débute sous VBA, et ça fait une bonne semaine que je bloque sur un problème de syntaxe. J'ai cherché dans des tutos et forums, mais je n'ai pas trouvé de réponse!
En fait je souhaite créer des graphiques (PieChart) sachant que:
* mes données sont en lignes et non en colonnes.
* ces lignes peuvent varier suivant le choix dans une listBox.
* ces lignes peuvent être choisies sur trois feuilles différentes suivant le choix dans une deuxième listBox.
ça commence a faire beaucoup, d'où les problèmes de syntaxe!
Voici le code que j'ai écrit:
**************************************************************
Private Sub PieChart_Click()
'Definition des variables
Dim NumPage As Integer
Dim NumLine As Integer
NumPage = ListBox1.ListIndex + 1
'le premier nom est a la ligne 10
NumLine = ListBox2.ListIndex + 10
'creation du PieChart
Dim chtOb As ChartObject
Set chtOb = Sheets("Summary").ChartObjects.Add(100, 100, 250, 175)
With chtOb.Chart
.ChartType = xlPie
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Sheets(NumPage).Range("D1:J1")
.SeriesCollection(1).Values = Range(Cells(NumLine, 4), Cells(NumLine, 10))
.SeriesCollection(1).Name = Sheets(NumPage).Cells(NumLine, 1).Value
End With
End Sub
**************************************************************
Mes données se trouvent a la ligne: NumLine entre la colonne D et la colonne J, et la feuille a sélectionner se trouve sur le feuillet numéro: NumPage.
J'aimerais que les graphes que je créer se trouve sur un page résumé intitulé: Summary, d'où le "Sheets("Summary").ChartObjects.Add...". Pour l'instant je lance manuellement ma macro, et lorsque mon curseur reste sur la page Summary, les graphes apparaissent tout vide! alors que lorsque mon curseur est sur une des trois pages de données, les graphes apparaissent avec les données!
Enfin, je pense qu'il faut aussi qu'une fois un graphe est crée, je trouve un moyen de reinitialiser les .XValues et .Values car sinon j'ai toujours le meme graphe!
Voila, j'ai essaye de bien expliquer ma demarche, du coup le message est bien long
Merci a tous ceux qui pourront m'aider!