Bonjour!!

J'ai un problème de copie de graphes entre classeurs qui me casse bien les @$^&!!?*:

Voici un bout de ma macro excel qui doit faire tout ça:

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
 
Sub copySheet()
'Macro qui fait une copie du document sans les données
'Author: Kurt-Kobain
'Date: 11/01/2005
'Update: 07/03/2007
 
Dim sourceBook As Excel.Workbook
Dim newFile As Excel.Workbook
Dim newSheet As Worksheet
Dim indiceGraph As Integer
 
'Liste des noms des onglets à copier
Dim onglets(5) As String
onglets(5) = "Plouplou"
onglets(4) = "Cuicui"
onglets(3) = "Ouafouaf"
onglets(2) = "Meoooww"
onglets(1) = "Croacroa"
 
 
Set sourceBook = Application.ActiveWorkbook
Set newFile = Workbooks.Add(xlWBATWorksheet)
 
For i = 1 To 5
    Set newSheet = newFile.Worksheets("Feuil" & i)
    newSheet.Name = onglets(i)
 
    sourceBook.Sheets(onglets(i)).UsedRange.Copy newSheet.Range("A1")
 
    For j = 1 To sourceBook.Sheets(onglets(i)).UsedRange.Columns.Count
        newSheet.Cells(j).ColumnWidth = sourceBook.Sheets(onglets(i)).Cells(j).ColumnWidth
    Next
 
    For j = 1 To sourceBook.Sheets(onglets(i)).UsedRange.Rows.Count
        newSheet.Rows(j).RowHeight = sourceBook.Sheets(onglets(i)).Rows(j).RowHeight
    Next
 
    'indiceGraph = 0
    'For Each Graph In sourceBook.Sheets(onglets(i)).ChartObjects
    '    indiceGraph = indiceGraph + 1
    '    Graph.CopyPicture
    '    newSheet.PasteSpecial Link:=False, DisplayAsIcon:=False
    '    newSheet.DrawingObjects(indiceGraph).Left = Graph.Left
    '    newSheet.DrawingObjects(indiceGraph).Top = Graph.Top
    'Next Graph
 
    newFile.Worksheets.Add Count:=1, Type:=xlWorksheet
Next
 
newFile.SaveAs (sourceBook.Path & "\"Lights.xls")
 
End Sub
Dans ce cas, 1 graphe sur 3 est copié. C'est déjà pas drôle.

Quand je décommente la boucle for (j'ai quand meme tenté un google et une recherche ds Developpez.com), les graphes qui étaient absents dans la première version sont au bon endroit tandis que les autres (ceux qui étaient présents dans la première version) apparaissent tous en haut à gauche...


Merci pour ce démystifiage.

PS: Je ne suis pas expert VBA.