Macro pour importer données d’autres fichiers - Run Time Error '1004'

toline

XLDnaute Nouveau
Bonjour à tous,

J'ai actuellement une multitude de fichier à assembler (près de 1000), tous sous le même format.
Je cherche donc à automatiser cela via une macro.

J'ai donc utilisé le code suivant (je débute en VBA et il n'est certainement pas optimisé mais bon):

Sub Importfiles()

Set wbdest = ActiveWorkbook

fichier = Dir("C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test\*.xls")

Do While fichier <> " "

Set wbsource = Workbooks.Open(fichier)
Set wksNewSheet = wbsource.Sheets("STATS")
wksNewSheet.Activate
wksNewSheet.Select

Range(Cells(8, 3), Cells(19, 11)).Select
Selection.Copy
wbdest.Activate
i = ActiveSheet.UsedRange.Rows.Count
Cells(i + 1, i).Select
ActiveSheet.Paste
wbsource.Close
fichier = Dir
Loop

wbdest.Activate

End Sub

Cependant, j'ai un message d'erreur qui apparaît :
Run Time Error '1004'
[FileName] Could Not Be Found

En utilisant le "Debug", je constate que l'erreur survient à la commande Set wbsource = Workbooks.Open(fichier)

D'où cette erreur peut-elle venir? Je travaille sous Excel 2010 et j'essaye d'assembler des fichiers sous Excel 2003.

Merci pour votre aide!
 

Pierrot93

XLDnaute Barbatruc
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Bonjour,

la fonction "dir" ne renvoie que le nom du fichier dans la variable "fichier", essaye ceci :

Code:
fichier = Dir("C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test\*.xls")

Do While fichier <> " "

Set wbsource = Workbooks.Open("C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test\" & fichier)

bonne journée
@+
 

Dranreb

XLDnaute Barbatruc
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Bonjour.

Ou alors :
VB:
ChDrive "C": ChDir "C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test"
fichier = Dir("*.xls")
Do While fichier <> " "
   Set wbsource = Workbooks.Open(fichier)
 

toline

XLDnaute Nouveau
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Bonjour à tous les deux.

Merci pour vos réponses. J'ai testé les deux codes et j'ai les mêmes remarques quelque soit le code:
- A chaque ouverture d'un des fichiers que je souhaite copier, j'ai le message suivant : "There is a large amount of information on the Clipboard". Y a t'il moyen de s'en débarrasser? Car il faut valider à chaque fois et comme j'ai mille fichiers, cela risque d'être un poil long :p
- Les données se collent "en décalé" alors que j'aurais souhaité qu'elles se collent les unes à la suite des autres (cf image ci jointe)
- Enfin, j'ai un message d'erreur quand la macro a traité le dernier fichier : cela m'affiche encore un Run Time Error '1004' "could not be found (voir seconde image ci-jointe).

Merci pour votre aide!
 

Pièces jointes

  • Données en décalé.jpg
    Données en décalé.jpg
    41.1 KB · Affichages: 31
  • Message d'erreur final.PNG
    Message d'erreur final.PNG
    12.1 KB · Affichages: 31

Pierrot93

XLDnaute Barbatruc
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Re,

pour éviter le message d'alerte :
Code:
Application.DisplayAlerts = False
'ton code
Application.DisplayAlerts = True

ou bien ceci, après le collage :
Code:
Application.CutCopyMode = False
 

toline

XLDnaute Nouveau
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

C'est super, je n'ai plus les deux messages qui apparaissent, merci :)

Une idée pour les valeurs qui se collent en décalé? J'ai beau regarder le code, je ne vois pas ce qui cloche!
 

toline

XLDnaute Nouveau
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Pardon, j'ai oublié de préciser ma pensée. Je parlais des deux messages suivants :
- "There is a large amount of information on the Clipboard"
- Le message d'erreur Run Time Error '1004' "could not be found
 

Pierrot93

XLDnaute Barbatruc
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

Re,

Pardon, j'ai oublié de préciser ma pensée. Je parlais des deux messages suivants :
- "There is a large amount of information on the Clipboard"
- Le message d'erreur Run Time Error '1004' "could not be found

ok tout est bien alors... pour ton décalage, regarde au niveau du "cells" tu utilises la même variable "i" pour détérminer le numéro de ligne et le numéro de colonne pour le collage...
 

toline

XLDnaute Nouveau
Re : Macro pour importer données d’autres fichiers - Run Time Error '1004'

J'ai réussi :) Cela me donne:
i = Range("A1048576").End(xlUp).Row
Cells(i + 1, 1).Select

Il ne me reste plus qu'à importer le titre du fichier dans ma dernière colonne et je serais déjà bien avancée

Merci
 

Discussions similaires

Réponses
7
Affichages
944

Statistiques des forums

Discussions
312 196
Messages
2 086 094
Membres
103 116
dernier inscrit
kutobi87