Fichier non trouvé je passe au suivant

Bonjour,

J'ai adapté une macro pour regrouper les données de différents fichiers 01.xls, 02.xls, 0.3.xls (jours de la semaine)etc... dans un seul fichier (synthese.xls - onglets 01-02-03 etc....).

La macro marche très bien, sauf que je ne suis pas parvenu à la modifier pour faire en sorte que si le fichier xls n'existe pas, la macro passe à la copie du fichier suivant.

J'ai essayé différentes solutions qui me colle des messages d'erreurs, et aujourd'hui, n'ayant pas de solution, je suis obligé de créer un fichier fictif pour que la macro fonctionne.

Pourriez-vous m'aider, s'il vous plait?

Je vous mets un bout de ma macro :

Dim classeurSource As Workbook, classeurDestination As Workbook

Set classeurSource = Application.Workbooks.Open("V:\Previsions_Activite\ecrit\01.xls", , True)

Set classeurDestination = ThisWorkbook

classeurSource.Sheets("A").Range("A2:AF240").Cells.Copy classeurDestination.Sheets("01").Range("A4:AF242")

ActiveWorkbook.Close

Set classeurSource = Application.Workbooks.Open("V:\Previsions_Activite\ecrit\02.xls", , True)

Set classeurDestination = ThisWorkbook

classeurSource.Sheets("A").Range("A2:AF240").Cells.Copy classeurDestination.Sheets("02").Range("A4:AF242")

ActiveWorkbook.Close

Set classeurSource = Application.Workbooks.Open("V:\Previsions_Activite\ecrit\03.xls", , True)

Set classeurDestination = ThisWorkbook

classeurSource.Sheets("A").Range("A2:AF240").Cells.Copy classeurDestination.Sheets("03").Range("A4:AF242")

ActiveWorkbook.Close

etc......

Bonjour,

tu nous mets ton fichier en pièce jointe et on va te modifier la macro

a+

papou

Bonjour

Essaie avec ce code (en considérant 5 jours, soit tes fichiers sont nommés de 01 à 05.XLS)

Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook
Dim i As Byte
Dim chemin as string
chemin = "V:\Previsions_Activite\ecrit\"
Set classeurDestination = ThisWorkbook
For i = 1 To 5
On Error Resume Next
Set classeurSource = Application.Workbooks.Open(chemin & "0" & i & ".XLs", , , True)
classeurSource.Sheets("A").Range("A2:AF240").Copy classeurDestination.Sheets("0" & i).Range("A4:AF242")
ActiveWorkbook.Close
Set classeurSource = Nothing
Next
End Sub

Si ok, clique sur le V vert à coté du bouton Editer pour cloturer le fil

Amicalement

Bonjour,

La macro ne fonctionne pas.

Elle me ferme tous les fichiers et le transfert des données de mes fichiers 01.xls, 02.xls etc...... vers les onglets 01-02-03 etc.....de mon dossier destination ne se fait pas.

Bonjour,

tu nous mets ton fichier en pièce jointe et on va te modifier la macro

a+

papou

Re,

Il n'y a pas de raison car la copie se fait avec le même code que celui que tu as posté sauf .... :

  • Dans le nom de tes fichiers, le "0" est un chiffre ou une lettre ??
  • Le nom de tes feuilles dans le classeur de destination est bien 01, 02 (chiffres !!) sans espace entre les chiffres ou après les chiffres ??

Essaie toutefois en remplaçant cette ligne

ActiveWorkbook.Close

par

If ActiveWorkbook.Name <> ThisWorkbook.Name Then ActiveWorkbook.Close

A te relire

Voilà, je t'ai mis les deux fichiers. Un fichier source 7.xls qui correspond à un jour du mois et un fichier test.xls qui est la recap.

Le "0" est zéro, mais pour simplifier j'ai renommer mes fichier xls en 1.xls et plus 01.xls. Donc j'ai supprimé le "0" et conservé le i.

Avec la correction, la copie fonctionne parfaitement. Cependant, le 7.xls s'inscrit dans l'onglet 1 de la fiche de synthese. Est il possible qu'il s'inscrive dans l'onglet 7 ( même si les fichiers 1.xls, 2.xls, 3.xls, 4.xls, 5.xls, 6.xls n'existent pas).

Merci pour votre aide si précieuse, je débute et j'essaye de comprendre ce que vous me proposez. Ce n'est pas simple mais c'est vraiment très intéressant d'apprendre .........


oups 2eme fichier oublié

197.zip (3.11 Ko)
31test.zip (35.29 Ko)

Re,

En voyant ton fichier je vois qu'il n'existe pas d'onglet 1, d'où ma question --> où vont les données du fichier 1 ??

Il y a une macro qui se trouve dans le module 2 et que tu dois enlever de là. Mets là dans THISWORKBOOK pour qu'elle s'exécute à la fermeture du fichier.

A te relire

Rechercher des sujets similaires à "fichier trouve passe suivant"