Exportation de données Excel vers un autre fichier

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour,
J'ai beau chercher, je n'arrive pas à grand chose... Si quelqu'un peut m'aider?
Je dispose de plusieurs (150) fichiers sources, tous élaborés à partir du même xtlm. Cela génère donc des fichiers sources (xlsm) qui seront tous stockés dans le même répertoire. Je voudrais extraire les données d'une feuille source (colonne) pour les importer dans un fichier de synthèse. Pour ne pas compliquer les choses, j'ouvre en même temps un fichier source et le fichier synthèse. Je voudrais pouvoir exporter les données d'une colonne d'une feuille définie vers le fichier synthèse. Je répèterai l'opération avec chaque fichier source, le tout étant pour moi de collecter les données exportées dans le fichier synthèse en positionnant les colonnes les unes à côté des autres pour pouvoir ensuite procéder à des analyses de ces données regroupées dans une même feuille. Chaque fichier source contiendrait une macro qui transposerait automatiquement les données automatiquement sélectionnées vers la feuille du fichier synthèse en positionnant les données exportées de colonne en colonne sans écraser les données précédemment enregistrées à partir des autres fichiers sources. Comme je vais recevoir les fichiers sources (xlsm) au fil du temps, je n'ai pas besoin d'une macro qui vienne ouvrir tous les fichiers en même temps. Je voudrais, à partir du modèle xltm, construire une macro qui se retrouvera disponible dans chaque chaque fichier xlsm et qui me permettra d'envoyer les données sur mon fichier synthèse...
Je vous jure, ça fait 10 jours que je suis sur ce problème et je n'arrive à rien. Quand on n'est pas bon, on n'est pas bon!

Mille mercis si vous avez une idée.

Tous mes vœux à cette formidable équipe de développeurs que vous êtes.

Constantin
 
Solution
Re,

Ce code, a placer dans les classeurs source, marchera si le classeur destination est ouvert :

VB:
Sub Macro1()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OS As Variant 'déclare la variable OS (Onglets Source)
Dim COL As Integer 'déclare la variable COL (COLonne)

Set CS = ThisWorkbook 'définit le classeur source CS
Set CD = Workbooks("export.xlsx") 'définit le classeur destination CD
OS = Array("Evaluation1", "Evaluation2", "Evaluation3") 'définit le tableau des onglets OS
COL = CD.Worksheets(1).Cells(5, 1).End(xlToRight).Column + 1
For I = 0 To 2 'boucle sur les 3 éléments du tableau des onglets OS...

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour Robert,

J'ai essayé en ouvrant bien les fichiers source et destination. J'ai copié la macro1() dans le module 4 d'un fichier essai (enregistré).
Quand je lance la macro j'ai un message d'erreur. Ci joint le message + la ligne en erreur (copies écran en JPG).
J'ai beau essayer de comprendre, je ne trouve pas.
Je vous laisse la main si vous avez le temps et la patience...

Cordialement,

Constantin
 

Pièces jointes

  • Erreur d'exécution '1004'.jpg
    Erreur d'exécution '1004'.jpg
    21.2 KB · Affichages: 14
  • débogage Macro1().jpg
    débogage Macro1().jpg
    207.2 KB · Affichages: 13

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise