Bonjour à tous !
Voila je viens vers vous car je bloque sur un programme.
Le but de ce dernier est de tracer une courbe de puissance ( à partir d'une colonne de vitesse de vent et d'une colonne de puissance ).
Ca je sais faire , seulement voila j'aimerai ,en rajoutant des feuilles, que mon programme trace sur le meme graphe les autres courbes de puissances.
Pour l'instant j'ai un code qui fonctionne pour deux feuilles mais je vais être amené à en étudier plusieurs et modifier le code à chaque fois que le nombre varie devient fastidieux... j'ai cherché des solutions sur d'autre forum mais je n'ai pas trouvé ...
voici un bout de mon programme
Pourriez vous m'aider svp ? (la je commence à craquer
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 Sub PFversion2() 'initialisation Dim Sh As Worksheet Dim Sh2 As Worksheet Dim DernLigne As Long Dim moyenne As Single Dim somme As Single Dim compt As Single retour = MsgBox(prompt:="tracer la courbe sur le graphe precedent ?", Buttons:=vbYesNo) reponse = InputBox(prompt:="quelle feuille étudier ?") rep2 = InputBox(prompt:="tracer le graphique sur quelle feuille ?") DernLigne = Range("A" & Rows.Count).End(xlUp).Row Set Sh = Sheets(reponse) Set Sh2 = Sheets(rep2) If retour = vbNo Then 'si on ne veut pas tracer notre courbe sur un graphique deja existant Dernligne3 = Range("A" & Rows.Count).End(xlUp).Row Range("Z2").Select Sh.Shapes.AddChart.Select With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "courbe de puissance " .SeriesCollection.NewSeries .SeriesCollection(1).XValues = ActiveSheet.Range("A2:A" & Dernligne3).Value .SeriesCollection(1).Values = ActiveSheet.Range("C2:C" & Dernligne3).Value .ChartType = xlXYScatter .SeriesCollection(1).MarkerSize = 2 .ChartArea.Copy End With 'on copie le graphique dans une nouvelle feuille Sh2.Select Range("C4").Select ActiveSheet.Paste End If If retour = vbYes Then 'on desire tracer la courbe sur un graphe deja existant Dernligne3 = Range("A" & Rows.Count).End(xlUp).Row Range("Z2").Select Sh2.Activate Sh2.ChartObjects(1).Activate With ActiveChart .SeriesCollection.NewSeries .SeriesCollection(2).XValues = Sh.Range("A2:A" & Dernligne3).Value .SeriesCollection(2).Values = Sh.Range("C2:C" & Dernligne3).Value .ChartType = xlXYScatter .SeriesCollection(2).MarkerSize = 2 End With End If End Sub)
Merci par avance
Partager