Bonjour a tous,
j'ai besoin de faire une macro pour creer un graphique. J'ai utiliser l'assistant macro d'excel, mais ca me fait un tres gros code (je trouve).
J'aurai besoin d'aide pour l'ameliorer et l'epurer :
Par exemple, j'aimerai que les plages de valeurs pour les courbes en ordonnes ne soit pas fixe mais que ca aille chercher les valeurs jusqu'a la premiere case vide.
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
18
19
20
21
22
23
24 Sub Makro1() Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Graph").Range("F5") ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = _ "='Graphikgrundlag. techn. Fortsch'!R6C3:R6C28" ActiveChart.SeriesCollection(1).Values = _ "='Graphikgrundlag. techn. Fortsch'!R7C3:R7C22" ActiveChart.SeriesCollection(1).Name = "=""IST""" ActiveChart.SeriesCollection(2).Values = _ "='Graphikgrundlag. techn. Fortsch'!R8C3:R8C24" ActiveChart.SeriesCollection(2).Name = "=""Soll""" ActiveChart.SeriesCollection(3).Values = _ "='Graphikgrundlag. techn. Fortsch'!R9C3:R9C28" ActiveChart.SeriesCollection(3).Name = "=""Anbindung""" ActiveChart.Location Where:=xlLocationAsObject, Name:="Graph" ActiveChart.Axes(xlValue).MajorGridlines.Select ActiveChart.SeriesCollection(1).Select ActiveChart.SeriesCollection(1).ChartType = xlColumnClustered End Sub
Merci d'avance pour votre aide.
J'ai trouve un bout de code que j'ai essaye d'adapter a mon cas, mais pour le moment cela ne fonctionne pas (erreur de compilation au niveau du with graphik).
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
18
19
20
21
22
23
24
25
26
27 Sub Courbe() Dim FSGraph As Chart, Graphik As Worksheet, Donnees As Range Dim PlageX As Range, PlageY As Range, MaSerie As Series, cmpt As Long Set Graphik = Worksheets("Graphikgrundlag. techn. Fortsch") With Graphik Set Donnees = .Range(.Cells(6, 3), .Cells(6, 3).End(xlRight)).Resize(9, 0) End With Set FSGraph = ThisWorkbook.Charts.Add FSGraph.ChartArea.Clear FSGraph.ChartType = xlXYScatter Set PlageX = Donnees.Rows(1) For cmpt = 1 To Donnees.Rows.Count - 1 Set PlageY = PlageX.Offset(cmpt, 0) Set MaSerie = FSGraph.SeriesCollection.Newserie With MaSerie .Values = PlageY .XValues = PlageX .Name = Donnees.Cells(6, 3).Offset(compteur, -1) End With Next cmpt
Partager