Bonjour le forum,
Alors voila, j'ai fais un petit programme pour présenter des résultats à des clients. Celui-si les affiche les résultats d'une étude communale et peu les afficher suivantes des répartitions différantes. Par ville, rue ou par habitation. Je calcule les différentes sommes avec un TCD et copier juste les valeurs dans mon programme (le tableau ville dans une feuille "ville", le tableau rue, feuille "ruue ,etc..).
Un userform permet de faire la sélection. Il y à d'abord un frame avec trois optionbutton (Ville,Rue et Habitation) qui va sélectionner une des trois feuilles. Puis deux combobox (selection de la ville et de la rue) qui vont alimenter les filtres.
Jusque là pas de problème, les ghraphiques affichent les donées visibles de la pages. le oproblème vien poue le cas par cas, car comme vous pourrez le voir le chois de l'habitation ce fais par list box, et je n'arrive pas à alimenter les graphiques.
je vais mettre un fichier exemple ce sera plus claire.
mais la ou j'ai besoin d'aide c'est pour faciliter la modification des graphiques. Mon chef est assez indécis et donc je me retrouve à changer tout le temps les donnes des graphes... pouriez vous me donner une bonne solution pour faciliter cette tache?
De même pour le programme en génarale, je dois faire quelque chose que le client ne peu pas toucher, sans avoir acces aux données, si vous activez le principe actuel dans le module 3 sub "cacher", mais jai souvent un probleme de mise a jours des donnes que je ne sais pas enlever, bref que des bugs^^ mais bon.
Voici encore un exemple pour les graphiques alimenté selon optionbutton
le code pour ouvrir le fichier est 4448
Alors voila, j'ai fais un petit programme pour présenter des résultats à des clients. Celui-si les affiche les résultats d'une étude communale et peu les afficher suivantes des répartitions différantes. Par ville, rue ou par habitation. Je calcule les différentes sommes avec un TCD et copier juste les valeurs dans mon programme (le tableau ville dans une feuille "ville", le tableau rue, feuille "ruue ,etc..).
Un userform permet de faire la sélection. Il y à d'abord un frame avec trois optionbutton (Ville,Rue et Habitation) qui va sélectionner une des trois feuilles. Puis deux combobox (selection de la ville et de la rue) qui vont alimenter les filtres.
Jusque là pas de problème, les ghraphiques affichent les donées visibles de la pages. le oproblème vien poue le cas par cas, car comme vous pourrez le voir le chois de l'habitation ce fais par list box, et je n'arrive pas à alimenter les graphiques.
je vais mettre un fichier exemple ce sera plus claire.
mais la ou j'ai besoin d'aide c'est pour faciliter la modification des graphiques. Mon chef est assez indécis et donc je me retrouve à changer tout le temps les donnes des graphes... pouriez vous me donner une bonne solution pour faciliter cette tache?
De même pour le programme en génarale, je dois faire quelque chose que le client ne peu pas toucher, sans avoir acces aux données, si vous activez le principe actuel dans le module 3 sub "cacher", mais jai souvent un probleme de mise a jours des donnes que je ne sais pas enlever, bref que des bugs^^ mais bon.
Voici encore un exemple pour les graphiques alimenté selon optionbutton
le code pour ouvrir le fichier est 4448
Code:
Sub graphiqueinstalle()
Dim textstring As String
Sheets("Ville").Rows("1:1").AutoFilter
Sheets("Rue").Rows("1:1").AutoFilter
Sheets("Total").Rows("1:1").AutoFilter
With Sheets("Impression").ChartObjects("1")
.Visible = True
.Activate
End With
With Selection
If .OptionButtonRue = True Then
Sheets("Total").Range("A1:c1").AutoFilter Field:=1, Criteria1:=.ComboVille.Value
Sheets("Total").Range("A1:c1").AutoFilter Field:=2, Criteria1:=.ComboRue.Value
With ActiveChart
.SetSourceData Source:=Sheets("Total").Range("A1")
.HasTitle = True
.ChartTitle.Text = "Installation(s) solaire(s) de : " & Selection.ComboRue.Value & " (" & Selection.ComboVille.Value & ")"
.ApplyLayout (3)
.SeriesCollection(1).XValues = "='Total'!$C$2:$C$786"
.SeriesCollection(1).Name = "=""NB de panneaux TH"""
.SeriesCollection(1).Values = "='Total'!$J$2:$J$786"
.SeriesCollection.NewSeries
.SeriesCollection(2).Name = "=""NB de panneau PV"""
.SeriesCollection(2).Values = "='Total'!$M$2:$M$786"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "Répartition des installations existantes"
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "N° de rue"
.PlotVisibleOnly = True
.Refresh
End With
ElseIf .OptionButtonVille = True And .ComboVille.Value = "Total général" Then
Sheets("Ville").Rows("1:1").AutoFilter
With ActiveChart
.PlotVisibleOnly = False
.SetSourceData Source:=Sheets("Ville").Range("A1")
.HasTitle = True
.ChartTitle.Text = "Installation(s) solaire(s) répartie par localitées"
.ApplyLayout (3)
.SeriesCollection(1).XValues = "='Ville'!$a$2:$a$6"
.SeriesCollection(1).Name = "=""NB de panneaux TH"""
.SeriesCollection(1).Values = "='Ville'!$i$2:$i$6"
.SeriesCollection.NewSeries
.SeriesCollection(2).Name = "=""NB de panneau PV"""
.SeriesCollection(2).Values = "='Ville'!$l$2:$l$6"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "Répartition des installations existantes"
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = "Localités"
.Refresh
End With
ElseIf .OptionButtonVille = True Then
Sheets("Rue").Range("A1:c1").AutoFilter Field:=1, Criteria1:=.ComboVille.Value
textstring = "rues de " & Selection.ComboVille.Value
With ActiveChart
.SetSourceData Source:=Sheets("Rue").Range("A1")
.HasTitle = True
.ChartTitle.Text = "Installation(s) solaire(s) de : " & Selection.ComboVille.Value
.ApplyLayout (3)
.SeriesCollection(1).XValues = "='Rue'!$b$2:$b$68"
.SeriesCollection(1).Name = "=""NB de panneaux TH"""
.SeriesCollection(1).Values = "='Rue'!$j$2:$j$61"
.SeriesCollection.NewSeries
.SeriesCollection(2).Name = "=""NB de panneau PV"""
.SeriesCollection(2).Values = "='Rue'!$m$2:$m$61"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Text = "Répartition des installations existantes"
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Text = textstring
.PlotVisibleOnly = True
.Refresh
End With
ElseIf .OptionButtonTotal = True Then
Sheets("Impression").ChartObjects("1").Visible = False
End If
End With
Sheets("Impression").Range("b2").Activate
End Sub
Dernière édition: