VBA copie de fichier à fichier

  • Initiateur de la discussion Initiateur de la discussion Jeff
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jeff

Guest
Voilà, je souhaite que ma macro ouvre chaque fichier excel d'un répertoire donné (myRep), copie l'ensemble des données (colonne 1 à 4) à partir de la ligne 2, et les colle les uns à la suite des autres dans le fichier principal (Prix_recus.xls)

J'ai abouti à ça:

myFile = ActiveWorkbook.Name
Workfile = Dir(myRep & '*.xls')
Dim plage As Range, ici As Range, cel As Range

Do While Workfile <> ''

Application.StatusBar = 'Traitement du fichier ' & Workfile
Workbooks.Open Filename:=myOrt & Workfile

I = Sheets('Feuil1').Range('A65536').End(xlUp).Row
'Plage source
Set plage = Sheets('Feuil1').Range('A2:A' & I)
'Plage de destination
Set ici = Workbooks('Prix_Recus.xls').Sheets('Feuil2').Range('A2')

For Each cel In plage.Offset(0, 4)
cel.EntireRow.Copy Destination:=ici
Set ici = ici.Offset(1, 0)
Next cel

ActiveWorkbook.Save: Windows(Workfile).Close
Windows(myFile).Activate
Workfile = Dir()

Loop

MsgBox ('Done')


Ca ne fonctionne pas, et je me tourne vers vos idées pour faire tourner tout ça correctement.

Merci par avance à tous,

Jeff
 
Bonsoir Jeff, le Forum

IL me semble que j'ai déjà vu ton problème sur ce Forum, mais je ne retrouve pas...

Pour l'instant c'est quoi au juste 'myOrt'

Ensuite quelle est la ligne qui plante si il y a un Bug ?

Ensuite pour que celà fonctionne il faut s'assurer que tous les classeurs traîtés contiennent bien une 'Feuil1' sinon...

Ensuite cette Ligne :
Set ici = Workbooks('Prix_Recus.xls').Sheets('Feuil2').Range('A2')
Va systématiquement écraser en 'A2' ce que tu reçois...

Ensuite cette Ligne :
Set ici = ici.Offset(1, 0)
Ne sert à rien en sortie de boucle puisque le Set de cet objet est refait par la ligne que je décris juste au dessus...

C'est tout ce que je peux faire sans voir le code complet, ni le contexte d'environnement... Mais c'est assez confus comme code... Dans l'ancien Forum j'ai fait pas mal de truc pour remonter des plages en boucles depuis différents classeurs et je ne m'y prenais pas du tout comme ça...

Pour conclure, ta démarche n'est pas vraiment XLD-Compliant, car en quelques sortes tu nous mets en face d'un méli-mélo de codes mis bout à bout en demandant de l'arranger, en plus sans préciser o&ugrave; ça ne passe pas... Ce qui est pratiquement plus compliqué que d'en refaire un nouveau...

Bon Week End
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
609
Z
Réponses
1
Affichages
601
R
  • Question Question
Réponses
1
Affichages
1 K
Retour