Fusionner plusieurs fichiers CSV en un seul fichier Excel (feuilles séparées)

2026-07-08 06:54:58 zaki zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Fusionner plusieurs fichiers CSV dans un seul classeur Excel

Lorsque vous travaillez avec des rapports exportés depuis différents systèmes, il est courant de se retrouver avec des dizaines de fichiers CSV. Par exemple, chaque département, magasin ou mois peut générer son propre rapport CSV. Bien que cela facilite la collecte de données, la gestion d'un grand nombre de fichiers séparés devient rapidement fastidieuse.

Une solution pratique consiste à combiner tous les fichiers CSV dans un seul classeur Excel, tout en conservant chaque CSV dans une feuille de calcul distincte. Cela préserve la structure originale des fichiers, facilite la navigation et vous permet de partager un seul classeur au lieu de plusieurs fichiers individuels.

Dans cet article, nous présenterons trois méthodes pratiques, allant d'une approche manuelle simple à l'automatisation Excel avec VBA et une solution entièrement programmatique en Python.

Méthodes couvertes :

Méthode 1. Copier et coller des fichiers CSV dans des feuilles de calcul distinctes

Si vous n'avez que quelques fichiers CSV à fusionner, la solution la plus simple consiste à copier manuellement leur contenu dans différentes feuilles de calcul.

Un détail important est que vous devez ouvrir chaque fichier CSV avec Microsoft Excel plutôt qu'avec un éditeur de texte tel que le Bloc-notes. Lorsqu'un CSV est ouvert dans Excel, ses lignes et colonnes sont analysées correctement en fonction du délimiteur. Si vous copiez le texte directement depuis le Bloc-notes, Excel risque de coller tout le contenu dans une seule colonne au lieu de séparer les valeurs automatiquement.

Copier et coller des fichiers CSV dans des feuilles de calcul distinctes

Étapes

  1. Ouvrez Microsoft Excel et créez un nouveau classeur.
  2. Ouvrez le premier fichier CSV en utilisant Excel.
  3. Sélectionnez toutes les données (Ctrl + A) et copiez-les (Ctrl + C).
  4. Revenez au nouveau classeur et collez les données dans la première feuille de calcul.
  5. Renommez la feuille de calcul si nécessaire.
  6. Répétez le processus pour chaque fichier CSV restant, en créant une nouvelle feuille de calcul à chaque fois.
  7. Enregistrez le classeur en tant que fichier .xlsx.

Avantages

  • Aucune programmation requise.
  • Fonctionne sur toutes les installations d'Excel.
  • Préserve un CSV par feuille de calcul.
  • Idéal pour les tâches occasionnelles impliquant seulement quelques fichiers.

Inconvénients

  • Chronophage lors du traitement de nombreux fichiers.
  • Entièrement manuel.
  • Risque d'erreurs lors de la manipulation de dizaines de fichiers CSV.

Méthode 2. Utiliser une macro VBA pour importer plusieurs fichiers CSV

Si vous effectuez fréquemment cette tâche dans Excel, une macro VBA peut automatiser l'ensemble du processus. La macro analyse un dossier, ouvre chaque fichier CSV, copie sa feuille de calcul dans le classeur actuel et nomme la feuille d'après le nom du fichier CSV.

Combiner plusieurs fichiers CSV dans Excel à l'aide d'une macro VBA

Étape 1. Créer un classeur vierge

Ouvrez Excel et créez un nouveau classeur. Ce classeur deviendra le classeur de destination qui stockera toutes les feuilles de calcul importées.

Étape 2. Ouvrir l'éditeur VBA

Appuyez sur Alt + F11 pour ouvrir l'éditeur Visual Basic.

Choisissez Insertion > Module, puis collez le code suivant dans le nouveau module.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Entrez le chemin du dossier contenant les fichiers CSV :")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "Les fichiers CSV ont été fusionnés avec succès."

End Sub

Étape 3. Exécuter la macro

Appuyez sur F5, entrez le dossier contenant vos fichiers CSV, et la macro importera automatiquement chaque CSV dans sa propre feuille de calcul.

Avantages

  • Beaucoup plus rapide que la copie manuelle.
  • S'exécute entièrement dans Microsoft Excel.
  • Crée automatiquement une feuille de calcul pour chaque fichier CSV.
  • Adapté aux utilisateurs qui travaillent régulièrement avec Excel.

Inconvénients

  • Nécessite des classeurs prenant en charge les macros.
  • Les utilisateurs doivent activer les macros VBA.
  • Moins adapté à une automatisation sans surveillance ou côté serveur.

Méthode 3. Fusionner plusieurs fichiers CSV en Python avec Spire.XLS

Pour les flux de travail récurrents, les tâches planifiées ou les applications métier, l'automatisation par programmation est souvent la solution la plus efficace.

De nombreux développeurs pensent immédiatement à Pandas pour le traitement CSV. Pandas est une excellente bibliothèque pour lire, analyser et transformer des données tabulaires. Cependant, son objectif principal est l'analyse de données plutôt que la génération de documents.

Si votre flux de travail va au-delà de la simple importation de fichiers CSV — par exemple, le formatage des feuilles de calcul, l'application de styles, l'insertion de graphiques, la protection des classeurs ou l'exportation du classeur final en PDF — une bibliothèque de feuilles de calcul telle que Free Spire.XLS for Python offre une solution plus complète.

Tout d'abord, installez la bibliothèque :

pip install Spire.XLS

Utilisez ensuite le code suivant pour fusionner chaque fichier CSV d'un dossier dans un seul classeur Excel, chaque CSV devenant une feuille de calcul distincte.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Créer le classeur de destination
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Traiter chaque fichier CSV
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Résultat :

Fusionner plusieurs fichiers CSV dans un seul classeur Excel en utilisant Python

Comparée aux méthodes manuelles ou VBA, cette approche est beaucoup plus facile à intégrer dans des flux de travail automatisés. Après avoir généré le classeur, vous pouvez continuer à le traiter avec Spire.XLS — par exemple :

  • Appliquer des polices, des couleurs, des bordures et des formats numériques.
  • Figer les volets ou ajuster automatiquement la largeur des colonnes.
  • Créer des graphiques et des tableaux croisés dynamiques.
  • Protéger les feuilles de calcul ou le classeur.
  • Exporter le classeur terminé en PDF ou dans d'autres formats.

Ces capacités le rendent adapté non seulement à la fusion de CSV, mais aussi aux pipelines de génération de rapports de bout en bout.

Comparaison des trois méthodes

Méthode Programmation requise Traitement par lots Idéal pour
Copier-coller Non Limité Tâches ponctuelles avec seulement quelques fichiers CSV
Macro VBA VBA de base Oui Utilisateurs Excel qui importent régulièrement des fichiers CSV
Python + Free Spire.XLS Python Excellent Flux de travail automatisés, applications métier et traitement par lots

Conclusion

La meilleure méthode dépend de la fréquence à laquelle vous devez effectuer la tâche.

Si vous n'avez besoin de combiner que quelques fichiers CSV occasionnellement, copier et coller manuellement les données dans des feuilles de calcul distinctes est la solution la plus rapide.

Si vous travaillez principalement dans Excel et effectuez cette tâche régulièrement, une macro VBA peut automatiser le processus avec un effort minimal.

Pour les développeurs qui construisent des flux de travail répétables ou qui intègrent le traitement CSV dans des applications, Python avec Spire.XLS offre la plus grande flexibilité. Au-delà de la fusion de fichiers CSV, il permet une manipulation avancée des feuilles de calcul et une génération de documents, ce qui le rend adapté à un large éventail de scénarios d'automatisation.

FAQ

Puis-je fusionner des centaines de fichiers CSV dans un seul classeur Excel ?

Oui. VBA peut gérer de nombreux fichiers, mais pour de très grands lots ou des flux de travail automatisés, une solution Python est généralement plus fiable et évolutive.

Chaque fichier CSV deviendra-t-il sa propre feuille de calcul ?

Oui. Les trois méthodes décrites dans cet article conservent chaque CSV comme une feuille de calcul distincte au lieu de combiner toutes les données dans une seule feuille.

Les noms des feuilles de calcul peuvent-ils être basés sur les noms des fichiers CSV ?

Oui. La macro VBA et l'exemple Python utilisent automatiquement le nom du fichier CSV (sans l'extension) comme nom de feuille de calcul.

Que faire si mes fichiers CSV utilisent l'encodage UTF-8 ou d'autres encodages ?

La plupart des fichiers CSV peuvent être importés sans problème. Si vos fichiers utilisent un encodage ou un délimiteur différent, ajustez les paramètres d'importation en conséquence avant le traitement.

Puis-je continuer à modifier le classeur après avoir fusionné les fichiers CSV ?

Absolument. Une fois le classeur créé, vous pouvez formater les feuilles de calcul, insérer des graphiques, ajouter des formules, protéger le classeur ou l'exporter en PDF comme n'importe quel autre fichier Excel.

Voir aussi