Bonjour à toutes et à tous

J'ai créé des macros qui me permettent de traiter des données.
Le but étant d'avoir un fichier source qui génère des onglets via des données (ça c'est bon). Ensuite j'ai effectué une macro qui ouvre un nouveau classeur (dans un nouveau processus) et dans lequel je copie colle les données pour créer 3 graphiques par classeur. Et cela enregistre chaques classeurs dans un dossier spécifique (en local)
Cependant, j'ai des "plantages" aléatoires parfois au deuxième classeur, parfois au 8eme... ect
avec un message Excel a cessé de fonctionner, et parfois une erreur : Erreur d'automation ; le serveur distant n'existe pas ou n'est pas disponible
voici une partie du code (j'ai enlevé la partie où cela créé les graphiques pour que ce ne soit pas imbuvable)

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
 Sub CreationGraphe1()
 
    Dim MonGraphe As Chart
    Dim MonGraphe2 As Chart
    Dim MonGraphe3 As Chart
    Dim MaPlage1 As Range
    Dim MaPlage2 As Range
    Dim M As ChartObject
    Dim cel As Range
    Dim ws As Worksheet
    Dim wscount As Integer
    Dim I As Integer
    Dim derlign As Integer
    Dim Onglet As Byte
    Dim SourceG As Range
    Dim SourceG2 As Range
    Dim SourceG3 As Range
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim Book As Excel.Workbook
    Dim Dossier As String
 
 
    wscount = ActiveWorkbook.Worksheets.Count
'    Onglet = ActiveSheet.Name
 
 
    For I = 3 To wscount
 
     'On créer l'objet Excel
    Set xlApp = CreateObject("Excel.Application")
'on rend le classeur visible    
xlApp.Visible = True
    'On défini le nombre d'onglets (ici 1)
    xlApp.SheetsInNewWorkbook = 1
    'On ajoute un classeur
    Set xlBook = xlApp.Workbooks.Add
 
 
  ThisWorkbook.Sheets(I).Activate
    Range("Q2") = "CT JUSTIFIEE"
    Range("Q3") = "CT DECADREE"
    Set MaPlage1 = Sheets(I).Range(Cells(2, 17), Cells(3, 17))
    Set MaPlage2 = Sheets(I).Range(Cells(2, 18), Cells(3, 18))
    Set SourceG = xlBook.Sheets("Feuil1").Range("Q2:R3")
 
    ThisWorkbook.Sheets(I).Range("M1:R15").Copy
 
    xlBook.Sheets("Feuil1").Range("M1:R15").Value = ThisWorkbook.Sheets(I).Range("M1:R15").Value
 
 
    Set MonGraphe = xlBook.Charts.Add
 
''''''''''''''''''''''''''''''''''''
 
'ici c'est la création des trois graphiques que je copies et je colle sur la même feuille
''''''''''''''''''''''''''''''''''''''
 
    xlApp.DisplayAlerts = False
 
    xlBook.SaveAs Filename:="D:\NMA\" & ThisWorkbook.Sheets(I).Name, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    xlApp.Quit
     Set xlSheet = Nothing
 
     Set xlBook = Nothing
 
     Set xlApp = Nothing
 
    Next I
 
 
 
 
End Sub
Il est vrai que le fichier source est assez lourd (+ de 600 onglets) et que la création des 3 graphiques et l'enregistrement classeur par classeur est surement également lourd...

Merci de me dire si vous avez des idées ? des améliorations ? des conseils ? des remarques ?
je suis preneur ! surtout qu'étant débutant, j'espère n'avoir choqué personne (car on doit le sentir que je débute !)

Matt qui vous remercie par avance