Copie de lignes plusieurs fichiers excel dans un seul classeur excel

Résolu
codichon Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 février 2008 - 10 févr. 2008 à 15:43
codichon Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 février 2008 - 10 févr. 2008 à 21:34
Bonjour tout le monde,

Avant de poser ma question j'ai chercher pour trouver une réponse mais sans résultat...

Je débute au niveau des macros.

Donc voila mon cas:

- j'ai "x" fichiers excel, tous construit de la même manière:
      - ligne 1 = les entêtes de colonne
      - ligne 2 et plus = les données. Le nombre varie en fonction des fichiers

- Je veux récupérer les informations à partir de la ligne 2 et plus de chaque fichier dans un classeur unique et sur une même feuille de façon automatique.

Le must serait de pouvoir selectionner le répertoire ou les données (fichiers excel à ectraire) sont enregistrées et de les copier dans mon classeur unique.

Pour résumer je cherche à faire une compilation de plusieurs fichiers excel dans un seul fichier indépendant.

J'ai pu voir qu'il existait des fonctions de boucle de copie mais je n'ai pas trouver pour mon cas.

Merci d'avance pour votre aide

Codichon

2 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 févr. 2008 à 20:22
Bienvenue sur ce site,

C'est pourtant un sujet qui revient régulièrement...

Pour rechercher un répertoire qui contient les fichiers que tu veux copier, utilise
Application.GetOpenFilename

Pour ouvrir les fichiers
Workbooks.Open "chemin complet du fichier..."

Pour connaître le nombre de lignes et de colonnes à copier
    Dim nbLignes As Long, nbColonnes As Long
   
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
    nbColonnes = Cells(1, Columns.Count).End(xlToLeft).Column
   
    Range(Cells(2, 1), Cells(nbLignes, nbColonnes)).Copy

Pour pouvoir te promener aisément d'un classeur à un autre, tu peux créer des variables Workbook
Dim ProgSource As WorkBook, ProgDest as workbook
Set ProgSource = Activeworkbook

Ça te donne un départ...

Comme tu es nouveau sur le site, pense à lire les règlements du site. Pose des questions précises sur un problème à la fois en donnant le bout de code qui ne fonctionne pas pour qu'on puisse t'aider. S'il y a des messages d'erreur, note le numéro et la description de cette erreur pour qu'on puisse mieux comprendre le problème...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
codichon Messages postés 2 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 février 2008
10 févr. 2008 à 21:34
Merci pour la réactivité de votre réponse!

Je vais faire le test dans la semaine et vous tiendrai au courrant.

... et lire plus précisément les règlements...

Codichon
0
Rejoignez-nous