graphique généré à partir d'un combobox. - VB/VBA/VBS - Programmation
MarshPosté le 03-08-2005 à 09:58:35
bonjour je m'adresse à vous car bcp ont trouvé une réponse ici...
je souhaite generer un graphique en choisissant l'entete de colonne d'une plage de cellule. si la chose a l'air simple sous excel 2000, en xl 97 j'ai rencontré des pb. j'ai tourné le code de cette maniere ( je suis débutant et c un bricolage de mon cru) en fait l'entete de colonne est déclarée dans un combobox avec un select case.
Private Sub ComboBox1_Change()
Sheets("recap_stats" ).Select Range("A4" ).Select
Dim titre As String Charts.Add
Select Case ComboBox1.Text
Case "ap present" titre = " appels présentés" ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,B4:B28" ), PlotBy:=xlColumns
Case "ap pris" titre = "appels pris" ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,C4:C28" ), PlotBy:=xlColumns
Case "qs servi" titre = "qs servi"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,D4:D28" ), PlotBy:=xlColumns Case Is = "ap so ext" titre = "ap so ext"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,E4:E28" ), PlotBy:=xlColumns Case Is = "ap so int" titre = "ap so int"
ActiveChart.Location Where:=xlLocationAsObject, Name:="recap_stats" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = titre .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False End With le combo est inséré dans la feuille recap_stats. Cela fonctionne à peu prés sauf qu'il crée une feuille suppl à chaque choix je voudrais qu'il affiche le graph dans une page précise ( recap_stats) ce qu'il ne fait pas systematiquement ..., je souhaiterais qu'a chaque selection dans la combo, le graph précédemment affiché s'efface, enfin que le graph ait une dimension carte postale. c bcp de choses j'en conviens, mais je crois que c un sujet intéressant un grand merci d'avance...
Marsh Posté le 03-08-2005 à 09:58:35
bonjour
je m'adresse à vous car bcp ont trouvé une réponse ici...
je souhaite generer un graphique en choisissant l'entete de colonne d'une plage de cellule.
si la chose a l'air simple sous excel 2000, en xl 97 j'ai rencontré des pb.
j'ai tourné le code de cette maniere ( je suis débutant et c un bricolage de mon cru)
en fait l'entete de colonne est déclarée dans un combobox avec un select case.
Private Sub ComboBox1_Change()
Sheets("recap_stats" ).Select
Range("A4" ).Select
Dim titre As String
Charts.Add
Select Case ComboBox1.Text
Case "ap present"
titre = " appels présentés"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,B4:B28" ), PlotBy:=xlColumns
Case "ap pris"
titre = "appels pris"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,C4:C28" ), PlotBy:=xlColumns
Case "qs servi"
titre = "qs servi"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,D4:D28" ), PlotBy:=xlColumns
Case Is = "ap so ext"
titre = "ap so ext"
ActiveChart.SetSourceData Source:=Sheets("recap_stats" ).Range("A4:A28,E4:E28" ), PlotBy:=xlColumns
Case Is = "ap so int"
titre = "ap so int"
ActiveChart.Location Where:=xlLocationAsObject, Name:="recap_stats"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = titre
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
le combo est inséré dans la feuille recap_stats.
Cela fonctionne à peu prés sauf qu'il crée une feuille suppl à chaque choix je voudrais qu'il affiche le graph dans une page précise ( recap_stats) ce qu'il ne fait pas systematiquement ..., je souhaiterais qu'a chaque selection dans la combo, le graph précédemment affiché s'efface, enfin que le graph ait une dimension carte postale.
c bcp de choses j'en conviens, mais je crois que c un sujet intéressant
un grand merci d'avance...