IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

fusion de fichiers excel en un seul fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut fusion de fichiers excel en un seul fichier
    Bonjour,

    je voudrais fusionner plusieurs fichiers excel (de taille différente) en un seul fichier. Je suis très débutante en macro...

    J'ai trouvé le code ci-dessous sur le net qui semblait fonctionner pour certains. Cette macro correspond théoriquement à ce que je veux :
    ouvrir tous les fichiers .xls d'un fichier blabla, copier les cellules et les coller dans un fichier excel ouvert à cet effet.

    Mais j'ai deux problèmes :
    - cette macro permet bien d'ouvrir les fichiers d'un certain répertoire, de sélectionner, de fermer les fichiers mais au final, rien ne s'inscrit dans mon fichier final... ?
    - autre problème (moins grave) : c'est un peu laborieux de devoir nommer les plages que je souhaite copier "plage_nommee". y-a-t-il moyen de faire plus simple ?

    un grand merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Range("A1").Select 'sélectionner la cellule de début
    Chemin = "C:blabla\" 'saisir le chemin complet du dossier où se trouvent les fichiers
    Fichier = Dir(Chemin & "*") ' Premier fichier
    Do While Fichier <> ""
    Workbooks.Open Filename:=Chemin & Fichier
    Range("plage_nommee").Copy
    ThisWorkbook.Activate
    ActiveSheet.Paste
    Windows(Fichier).Activate
    Application.CutCopyMode = False
    ActiveWorkbook.Close savechanges:=False
    ThisWorkbook.Activate
    Range("A65536").End(xlUp).Offset(1, 0).Select
    Fichier = Dir ' Fichier suivant
    Loop
    End Sub

  2. #2
    Membre éprouvé Avatar de DidierLoche
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 84
    Par défaut
    Bonjour,

    Par rapport à "plage_nommee", as-tu une idée précise des cellules que tu dois copier ? Si ta plage commence en A1, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne = Range("A65536").End(xlUp).Row
    colonne = Cells(ligne, 255).End(xlToLeft).Column
    Range(Cells(1, 1), Cells(ligne, colonne)).Select
    Pour ton fichier final, il manque tout simplement la sauvegarde, à savoir :
    Autre chose, la méthode que tu utilises essaie d'ouvrir tous les fichiers du répertoire blabla, ok tant que les fichiers sont ceux que tu veux fusionner. Si tu as d'autres fichiers différents d'Excel, la macro essaiera de les ouvrir quand même. Il faudrait donc ajouter un filtre du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Do While fichier <> ""
        If Format(Right(fichier, 3), "<") = "xls" Then
        ' ..... le code
        End If
    fichier = Dir ' Fichier suivant
    Loop
    Enfin, si un fichier pointe sur un graphique, tu auras droit à une erreur à Si la feuille à copier est la première, tu peux ajouter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Worksheets(1).Select
        Range("A1:F10").Copy
    Voilà, je pense avoir fait le tour du problème ...
    Bonne soirée,

    Didier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exporter des données des plusieurs fichiers Excel vers un seul fichier Excel
    Par pkp85pkp dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 09/12/2014, 15h20
  2. Concaténer des fichiers Excel dans un seul fichier avec VBA
    Par Thallhos dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/06/2014, 21h39
  3. [XL-2007] Fusion plusieurs feuilles excel dans un seul fichier
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/06/2013, 09h13
  4. [Excel] Afficher plusieurs fichiers excel dans un seul fichier
    Par naru40001 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/01/2009, 14h50
  5. [E-03] Fusion de fichier excel en un seul fichier
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2008, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo