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:
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 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
Donc la meme fonction mais dans le sens inverse !
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
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 ?
Partager