Bonjour, débutant en orienté objet je cherche depuis un petit moment a faire une macro qui crée plusieurs graphique dans un nouveau classeur sur une même feuille, j'ai un code qui marche un peu prés si aprés chaque entrée de plage on retourne sur le classeur ou on veut les graphiques.
voila le code:

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 encorunemacro() 
Dim plage As Range 
compt = 1 
 
' creer classeur et nommé la feuille 
Set nouv = Workbooks.Add 
Sheets("Feuil1").Name = "Graphique" 
ActiveWorkbook.SaveAs Filename:="Graphique.xls" 
 
' classeur actif et non classeur graphique 
For compt = 1 To 3 
Sheets("Graphique").Select 
Set plage = Application.InputBox(prompt:="plage", Type:=8) 
Charts.Add 
    ActiveChart.ChartType = xlLine 
    ActiveChart.SetSourceData Source:=plage 
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique" 
    With ActiveChart 
        .HasTitle = False 
        .Axes(xlCategory, xlPrimary).HasTitle = False 
        .Axes(xlValue, xlPrimary).HasTitle = False 
    End With 
Next 
 
' positionner les graphiques
With Sheets(1) 
    .Shapes("Chart 1").Left = 0 
    .Shapes("Chart 1").Top = 0 
    .Shapes("Chart 2").Top = 0 
    .Shapes("Chart 2").Left = .Shapes("Chart 1").Width + 5 
    .Shapes("Chart 3").Top = 0 
    .Shapes("Chart 3").Left = .Shapes("Chart 2").Width + 370 
End With 
End Sub 
 
Je pense que cela vient du fait que le graphique ce crée sur le classeur actif (traitement.xls), mais je n'arrive pas a lui dire de le faire sur le classeur ("graphique.xls")
Pour cela j'ai essayé en autre des choses de ce type:
 
Sub encorunemacro()
Dim plage As Range
Dim cible As String
Dim wb As Workbook
Dim ws As Worksheet
 
compt = 1
 
' creer classeur et nommé la feuille
Set nouv = Workbooks.Add
Sheets("Feuil1").Name = "Graphique"
ActiveWorkbook.SaveAs Filename:="Graphique.xls"
 
' classeur actif et non classeur graphique
Set wb = Workbooks("Graphique.xls")
Set ws = Worksheets("Graphique")
 
For compt = 1 To 3
Sheets("Graphique").Select
Set plage = Application.InputBox(prompt:="plage", Type:=8)
wb.ws.Charts.Add
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=plage
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique"
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
Next
 
'
With Sheets(1)
    .Shapes("Chart 1").Left = 0
    .Shapes("Chart 1").Top = 0
    .Shapes("Chart 2").Top = 0
    .Shapes("Chart 2").Left = .Shapes("Chart 1").Width + 5
    .Shapes("Chart 3").Top = 0
    .Shapes("Chart 3").Left = .Shapes("Chart 2").Width + 370
End With
End Sub
qui ne fonctionne malheureusement pas.
Je suis a l'écoute de toute proposition, Merci beaucoup.
Cordialement Zanzib.