Tout d'abord, bonjour à tous!
Voilà ca fait un certains temps que je travaille sur un programme qui doit construire un diagramme. Sauf que les données inclues dans le diagramme sont choisies par l'utilisateur. J'ai donc fait un UserForm avec des CheckBox et un CommandButton. Quand une CheckBox est coché, le programme écrit "Aktiv" dans la case correspondante dans la feuille1. (B1 à B24)
Seulement au moment de faire le graphique, le programme m'indique une erreur que je n'ai pas réussi à résoudre malgré plusieurs jours de recherche. Voilà le programme, en version courte:
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 Charts.Add ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Diagramme dynamique" ActiveChart.ChartType = xlLineStacked Windows("Diagramme dynamique.xls").Activate For i = 1 To 24 var = Range("B" & i).Value If var = "Aktiv" Then j = j + 1 ActiveWindow.WindowState = xlMinimized ActiveChart.SeriesCollection.NewSeries 'Création d'une courbe ActiveChart.SeriesCollection(j).Name = "=" & Chr(39) & nomdefenetre & Chr(39) & "!R1C" & i + 1 & "" 'Nom de la courbe 'Intégrer les points dans le diagramme: Select Case i Case 1 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynMP" Case 2 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynK1" Case 3 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynGo" Case 4 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynRst" Case 5 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynStwi" Case 6 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynPVSpng" Case 7 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynLstg" Case 8 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynAnstMP" Case 9 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynSolar" Case 10 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynAT11" Case 11 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynTD12" Case 12 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynTM13" Case 13 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynNOT" Case 14 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynMPP" Case 15 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynCosPhi" Case 16 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS06" Case 17 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS07" Case 18 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS08" Case 19 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS09" Case 20 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS14" Case 21 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS15" Case 22 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynS16" Case 23 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynF1" Case 24 ActiveChart.SeriesCollection(j).Values = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynF2" End Select ActiveChart.SeriesCollection(j).XValues = "=" & Chr(39) & nomdefenetre & Chr(39) & "!dynHeure" 'Editer les abscisses ActiveChart.Axes(xlCategory).Select ActiveChart.SeriesCollection(j).Select ActiveChart.SeriesCollection(j).AxisGroup = j With ActiveChart .HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = ActiveChart.SeriesCollection(j).Name End With End If Next i
Avec i et j variables Integer, définies plus tot dans le programme, respectivement égales à 1 et 0 au debut du code.
nomdefenetre un String representant le Workbook où se trouve les fichiers d'où viennent les valeurs (lui aussi est choisit par l'utilisateur), et tout ce qui commence par dyn est le nom de la colonne dans le Workbook "nomdefenetre".
A la ligne en gras, le programme affiche une erreur: "Variable ou bloc With non défini"
Je vous avouerais qu'un peu d'aide ne serait pas de refus s'il vous plait.![]()
Partager