Accéder au contenu principal

Comment importer rapidement plusieurs fichiers csv/texte/xml par lot dans Excel ?

Author: Sun Last Modified: 2025-05-27

Dans Excel, vous avez peut-être essayé d'enregistrer un classeur au format csv, fichier texte ou fichier xml, mais avez-vous déjà tenté d'importer plusieurs fichiers csv/texte/xml d'un dossier dans un classeur ou une feuille de calcul ? Dans cet article, je présente quelques méthodes pour les importer rapidement par lot.


Importer plusieurs fichiers texte d'un dossier dans chaque feuille de calcul d'un classeur avec VBA

Pour importer des fichiers texte d'un dossier dans un classeur, vous pouvez utiliser le code VBA ci-dessous pour gérer cela rapidement.

1. Ouvrez un classeur vierge, puis appuyez sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insérer > Module, et collez le code VBA dans la fenêtre Module.

VBA : Importer tous les fichiers texte d'un dossier dans un classeur

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le VBA, puis sélectionnez un dossier à partir duquel vous souhaitez importer les fichiers texte dans la boîte de dialogue qui s'affiche. Voir capture d'écran :

a screenshot of seleting a folder from which you want to import txt files

4. Cliquez sur OK, et chaque fichier texte du dossier sélectionné a été importé dans une feuille de calcul du classeur actif. Voir capture d'écran :

a screenshot showing that each text file in the selected folder has been imported into different worksheets of the current workbooka screenshot showing that each text file in the selected folder has been imported into different worksheets of the current workbook 2
a screenshot of kutools for excel ai

Découvrez la magie d'Excel avec Kutools AI

  • Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
  • Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
  • Codage VBA : Écrivez et implémentez du code VBA sans effort.
  • Interprétation des formules : Comprenez facilement des formules complexes.
  • Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Améliorez vos capacités Excel avec des outils alimentés par l'IA. Téléchargez maintenant et découvrez une efficacité sans précédent !

Importer plusieurs fichiers csv d'un dossier dans une seule feuille avec VBA

Pour importer tous les fichiers csv d'un dossier dans une seule feuille, vous pouvez utiliser le code VBA ci-dessous.

1. Activez une feuille de calcul vierge, puis appuyez sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insérer > Module, et collez le code VBA ci-dessous dans la nouvelle fenêtre Module.

VBA : Importer des fichiers csv d'un dossier dans une feuille de calcul

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter le VBA, et une boîte de dialogue s'affiche pour sélectionner un dossier à partir duquel vous souhaitez importer tous les fichiers csv. Voir capture d'écran :

a screenshot of seleting a folder from which you want to import csv files into a single worksheet

4. Cliquez sur OK, et une boîte de dialogue s'affiche pour vous rappeler si vous souhaitez effacer le contenu de la feuille active avant l'importation ; ici, je clique sur Oui. Voir capture d'écran :

a screenshot of a prompt box reminding that whether you want to clear the existing sheet before importing csv files

Après avoir cliqué sur Oui, tous les fichiers csv du dossier sélectionné sont importés dans la feuille active, et les données sont placées à partir de la colonne A vers la droite. Voir capture d'écran :

a screenshot showing that all csv files in the selcted folder are imported into the current worksheeta screenshot showing that all csv files in the selcted folder are imported into the current worksheet 2

Astuce : Si vous souhaitez placer les fichiers csv horizontalement dans une feuille de calcul, vous pouvez utiliser le code VBA ci-dessous.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

a screenshot of importing csv files horizontally in a worksheet


Importer plusieurs fichiers xml d'un dossier dans une seule feuille avec VBA

Si vous souhaitez importer tous les fichiers XML d'un dossier dans une seule feuille, vous pouvez utiliser le code VBA ci-dessous.

1. Sélectionnez une feuille vierge où vous souhaitez importer les données, puis appuyez sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insérer > Module, collez le code VBA dans la fenêtre Module.

VBA : Importer des fichiers XML d'un dossier dans une feuille de calcul.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. Cliquez sur le bouton Exécuter ou appuyez sur la touche F5 pour exécuter le VBA, puis sélectionnez un dossier dans la boîte de dialogue qui s'affiche, voir capture d'écran :

a screenshot of seleting a folder from which you want to import xml files into a single worksheet

4. Cliquez sur OK, et tous les fichiers XML du dossier sélectionné sont importés dans la feuille active.


Importer ou combiner plusieurs fichiers xml/csv dans une feuille ou un classeur avec Kutools pour Excel

Si vous ne maîtrisez pas bien VBA, ne vous inquiétez pas, voici un outil pratique – Kutools pour Excel. Avec son utilitaire Combine puissant, vous pouvez rapidement combiner plusieurs fichiers xml ou csv en un seul classeur ou une seule feuille Excel.

Après avoir installé Kutools pour Excel, veuillez procéder comme suit :(Téléchargement gratuit de Kutools pour Excel maintenant!)

1. Activez Excel, puis cliquez sur Kutools Plus > Combiner. Voir capture d'écran :
a screenshot of enabling the Combine feature of Kutools for Excel

2. Et dans l' étape 1 de Combiner boîte de dialogue, choisissez une option de séparation selon vos besoins. Voir capture d'écran :
a screenshot of selecting one operation as you need in the Combine Worksheets wizard

3. Cliquez sur Suivant pour accéder à l'étape 2 de Combiner, cliquez sur Ajouter pour ajouter des fichiers provenant de divers dossiers ou de fichiers d'un seul dossier à la liste Classeur et vous pouvez également spécifier les feuilles que vous souhaitez combiner depuis la liste Feuille de calcul de la section de droite. Voir capture d'écran :
a screenshot of adding files or folders and specifying the sheets you want to combine

4. Cliquez sur Suivant pour accéder à la dernière étape de Combiner, et vous pouvez spécifier les options de combinaison.
a screenshot of specifying the combine options

5. Cliquez sur Terminer, une boîte de dialogue s'affiche pour vous rappeler de sélectionner un emplacement pour enregistrer le nouveau résultat combiné. Voir capture d'écran :
a screenshot of selecting a location to save the new combined file

6. Cliquez sur Enregistrer. Toutes les feuilles ajoutées ont été combinées dans une nouvelle feuille unique.
a screenshot showing all adding sheets have been combined into a new single worksheet

Astuce : Avec Combiner, vous pouvez également combiner plusieurs fichiers CSV provenant de plusieurs dossiers ou d'un seul dossier en une seule feuille ou un seul classeur.


Exporter chaque feuille en tant que csv/texte/pdf vers un dossier avec Kutools pour Excel

Si vous souhaitez exporter chaque feuille en tant que fichier csv/texte/pdf vers un dossier, l'utilitaire Split Workbook de Kutools pour Excel peut vous aider.

Après avoir téléchargé et installé gratuitement Kutools pour Excel, veuillez procéder comme suit :

1. Activez le classeur que vous souhaitez exporter ses feuilles de calcul, puis cliquez sur Kutools Plus > Classeur > Séparer le classeur. Voir capture d'écran :

a screenshot of enabling the Split Workbook feature

2. Dans la boîte de dialogue Séparer le classeur, vous pouvez cocher les noms des feuilles que vous devez exporter ; par défaut, toutes les feuilles sont cochées, et cochez Spécifier le format de sauvegarde et sélectionnez le format de fichier dans la liste déroulante ci-dessous. Voir capture d'écran :

a screenshot of checking the sheet names you will export and specifying a save format

3. Cliquez sur Séparer et sélectionnez un dossier pour enregistrer les fichiers séparés dans la boîte de dialogue Parcourir le dossier, voir capture d'écran :

a screenshot of selecting a destination folder to save the exported files

4. Cliquez sur OK, maintenant toutes les feuilles cochées sont exportées dans le nouveau format de fichier dans le dossier sélectionné.


Articles connexes :


Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !