Bonjour le forum,

Le titre est assez explicite mais je vais developper.

J'ai 4 fichiers excel, 3 qui sont des repertoires personnels et 1 qui est un repertoire global.

Tout les jours en fin de journée, une personne doit aller recuperer les 3 repertoires pour rassembler les nouveaux contacts dans le fichier global.
Apres ceci effectué, le repertoire global copie tous les contacts dans les 3 repertoires.

La premiere etape marche tres bien, je procède de la sorte:
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
 
Function recupRep(chemin As String, nom As String)
    Dim NomClasseur As Workbook
 
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set NomClasseur = Application.Workbooks.Open(chemin & nom)
 
 
    NomClasseur.Sheets("Repertoire_SCH").Copy Workbooks("Repertoire_Global.xls").Sheets("Repertoire_SCH")
    NomClasseur.Sheets("Repertoire_Client").Copy Workbooks("Repertoire_Global.xls").Sheets("Repertoire_Client")
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_SCH").Delete
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_Client").Delete
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_SCH (2)").Name = "Repertoire_SCH"
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_Client (2)").Name = "Repertoire_Client"
 
    NomClasseur.Close
 
    supDoublonsClient
    supDoublonsPersonnel
 
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Function
Pour la deuxieme etape, je me retrouve avec une erreur 1004:
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
 
Sub maj(chemin As String)
    Dim NomClasseur As Workbook
 
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    Set NomClasseur = Application.Workbooks.Open(chemin)
 
 
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_SCH").Copy NomClasseur.Sheets("Repertoire_SCH")
    Workbooks("Repertoire_Global.xls").Sheets("Repertoire_Client").Copy NomClasseur.Sheets("Repertoire_Client")
    NomClasseur.Sheets("Repertoire_SCH").Delete
    NomClasseur.Sheets("Repertoire_Client").Delete
    NomClasseur.Sheets("Repertoire_SCH (2)").Name = "Repertoire_SCH"
    NomClasseur.Sheets("Repertoire_Client (2)").Name = "Repertoire_Client"
    NomClasseur.Close True
 
 
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
 
 
End Sub
Donc la meme fonction mais dans le sens inverse !

J'ai effectué des recherches sur cette #@!`^ erreur 1004.
Il semblerait que c'est a force de faire trop de copie, on sature la memoire ou autre.

Question : Faut il vider le presse papier sachant que je fais quand meme un Application.CutCopyMode = False ou y a t'il vraiment une grosse erreur dans mon code ?