Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment enregistrer, exporter plusieurs / toutes les feuilles pour séparer les fichiers CSV ou texte dans Excel?

Lorsque vous utilisez Excel, vous pouvez enregistrer manuellement une feuille de calcul en tant que fichier csv ou texte à l'aide de la fonction Enregistrer sous. Cependant, pour convertir plusieurs ou toutes les feuilles d'un classeur en fichiers CSV ou texte séparés, comment pouvez-vous faire? Dans cet article, nous allons vous montrer les méthodes d'enregistrement ou de conversion de plusieurs ou de toutes les feuilles en fichier csv ou texte séparé.

Enregistrer, exporter ou convertir toutes les feuilles en fichier CSV ou texte avec le code VBA

Enregistrer, exporter ou convertir plusieurs / toutes les feuilles en fichier CSV ou texte avec Kutools for Excel


Vous pouvez être intéressé par:

Combiner plusieurs feuilles de calcul / classeurs dans une seule feuille de calcul / classeur:

Combiner plusieurs feuilles de calcul ou classeurs dans une seule feuille de calcul ou classeur peut être une tâche énorme dans votre travail quotidien. Mais, si vous avez Kutools for Excel, son utilité puissante - Combiner peut vous aider à combiner rapidement plusieurs feuilles de calcul, classeurs dans une feuille de calcul ou un classeur.

Kutools for Excel comprend plus de 300 outils maniables Excel. Gratuit pour essayer sans limitation dans les jours 30. Gratuit Télécharger maintenant

Onglet Office Activer l'édition et la navigation par onglets dans Office, et simplifiez grandement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, graphiques et autres éléments les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement.
  • Plus que le texte 20 comprend: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Fusionner les outils: Plusieurs classeurs et feuilles en un; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils Split: Fractionner les données en plusieurs feuilles en fonction de la valeur; Un classeur pour plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller Sauter Lignes cachées / filtrées; Compte et somme par couleur de fond; Envoyez des e-mails personnalisés à plusieurs destinataires en bloc.
  • Super filtre: Créez des schémas de filtrage avancés et appliquez-les à toutes les feuilles. Trier par semaine, jour, fréquence et plus; Filtre en gras, formules, commentaires ...
  • Plus que de puissantes fonctionnalités 300; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue droite bulle Enregistrer, exporter ou convertir toutes les feuilles en fichier CSV ou texte avec le code VBA


Avec les codes VBA ci-dessous, vous pouvez enregistrer toutes les feuilles de calcul d'un classeur dans des fichiers CSV ou texte séparés. S'il vous plaît faire comme suit.

Exporter ou convertir toutes les feuilles en fichiers CSV

1. presse autre + F11 touches simultanément pour ouvrir le Application Microsoft Visual Basic fenêtre.

2. dans le Application Microsoft Visual Basic fenêtre, cliquez sur insérer > Module. Ensuite, copiez et collez le code suivant dans le Module fenêtre.

Code VBA: exporter toutes les feuilles dans des fichiers csv séparés

Sub ExportSheetsToCSV()
	Dim xWs As Worksheet
	Dim xcsvFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xcsvFile = CurDir & "\" & xWs.Name & ".csv"
		Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
		FileFormat: = xlCSV, CreateBackup: = False
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

3. appuie sur le F5 clé pour exécuter le code. Vous verrez tous les fichiers csv exportés sont situés sur le Documents partagés dossier. Voir la capture d'écran:

Exporter ou convertir toutes les feuilles en fichiers texte

Le code suivant peut vous aider à exporter ou convertir toutes les feuilles du classeur en fichiers texte séparés.

Code VBA: exporter toutes les feuilles dans des fichiers texte séparés

Sub ExportSheetsToText()
	Dim xWs As Worksheet
	Dim xTextFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xTextFile = CurDir & "\" & xWs.Name & ".txt"
		Application.ActiveWorkbook.SaveAs Filename: = xTextFile, FileFormat: = xlText
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

Les fichiers texte exportés sont également situés sur le Documents partagés dossier. Voir la capture d'écran:


flèche bleue droite bulle Enregistrer, exporter ou convertir plusieurs / toutes les feuilles en fichier CSV ou texte avec Kutools for Excel

YVous pouvez rapidement exporter ou convertir plusieurs ou toutes les feuilles en fichiers CSV individuels, en fichiers texte ou en format xls dans Excel avec le Manuel de travail divisé utilité de Kutools for Excel.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, gratuit pour essayer sans limitation dans 60 jours.

1. Cliquez Entreprise > Classeur > Manuel de travail divisé. Voir la capture d'écran:

2. dans le Manuel de travail divisé boite de dialogue:

1). Si vous voulez convertir toutes les feuilles en fichiers CSV ou texte, gardez simplement tous les noms de feuilles cochés dans le Nom de la feuille de calcul boîte; Si vous voulez juste convertir plusieurs feuilles, continuez à les vérifier et à décocher les autres feuilles que vous ne voulez pas convertir.

2). dans le Options section, vérifiez la Enregistrer en tant que type de boîte, puis sélectionnez Texte Unicode (* .txt) or CSV (Macintosh) (* .csv) dans la liste déroulante.

3). Clique le Divisé .

3. dans le Parcourir pour le dossier boîte de dialogue, spécifiez un dossier pour enregistrer les fichiers exportés, puis cliquez sur le OK .

Maintenant, toutes les feuilles ou feuilles spécifiées sont converties en fichiers CSV ou texte séparés, et se trouvent dans le dossier comme indiqué ci-dessus.


flèche bleue droite bulle Enregistrer, exporter ou convertir plusieurs / toutes les feuilles en fichier CSV ou texte avec Kutools for Excel

Kutools for Excel comprend plus de 300 outils maniables Excel. Gratuit pour essayer sans limitation dans les jours 60. Téléchargez l'essai gratuit maintenant!


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture 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é de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    nathan · 7 days ago
    how would I change the code to have it save in a different file format such as an xlsx? or ASCII.
  • To post as a guest, your comment is unpublished.
    Francia · 2 months ago
    So, this is great! BUT, what if I need to split a workbook into .csv but for PC, not MAC? If anyone has a way of doing it, please help me out. I will be very grateful.
  • To post as a guest, your comment is unpublished.
    Tarah Collins · 2 months ago
    Is there a way to use this code to export only a certain range to a .csv file of each sheet in a book?
  • To post as a guest, your comment is unpublished.
    Mirko · 9 months ago
    Hello,
    thank you so much for a great macro, it works like a charm! But I have a question, what if I would like to save this macro (CSV version) on PERSONAL.xlsb as to make it available on any excel instance?

    When I try, CurDir takes the PERSONAL directory, instead of the active worksheet one...

    Thank you for any help!
  • To post as a guest, your comment is unpublished.
    AK sharma · 1 years ago
    If you just want to convert multiple sheets, keep checking them and going to uncheck other sheets you don’t want to convert
    sir for thuis step do you have macro
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good day,
      Can't help with VBA code for this. Why not try the Split Workbook utility we provide in the post? It will save your time and you will love it.
  • To post as a guest, your comment is unpublished.
    sai · 1 years ago
    Superb solution.....Its saved my time.......Thank you
  • To post as a guest, your comment is unpublished.
    Cameron Stewart · 1 years ago
    Thanks - script very useful
  • To post as a guest, your comment is unpublished.
    Ken · 1 years ago
    A, I see now that the line "VBA code: Export all sheets to separated csv files" should not be copied into the code area. Perhaps that can be more explicit for newbies, and for people who follow instructions explicitly.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Ken,
      That's the description line of the code. The line "Sub ExportSheetsToCSV()" should be the first line of the code.
      I'm sorry for the inconvenience.
  • To post as a guest, your comment is unpublished.
    R · 1 years ago
    1) I have a workbook with multiple sheets in it.
    2) Those multiple sheets are having multiple columns.
    3) I have one column in each sheet which is concatenation of all the other columns.
    4) Now, I want to extract that concatenated column to a text file with the same name as sheet name.
    5) The way I want is I just press one button and it should look for all the tabs, extract that column (say concatenated column is AA) from each sheet, put that into a text file, name the text file same as sheet name and store in some directory on my desktop say H drive.
  • To post as a guest, your comment is unpublished.
    Abhishek Jha™ · 1 years ago
    I need a macro to convert all the tabs in a excel file to different set of files.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Which files do you want to include in your "different set of files"?
  • To post as a guest, your comment is unpublished.
    Tauseef Kundalia · 2 years ago
    hi i need a macro which convert pipe "|" separated csv into xlsx asking folder name not a single file. i need it on urgent basis.


    Regards,
  • To post as a guest, your comment is unpublished.
    ashish · 2 years ago
    hello alex please could you display the code to save the files in csv format except the documents folder
  • To post as a guest, your comment is unpublished.
    Amit Chaudhary · 2 years ago
    Hi,
    Thanks for the code, I just have a small clarification. Currently when the CSV file generates it's delimited by comma ",". even though my system setting is for CSV the delimited should be pipe "|". Not sure why the CSV is generated with comma delimiter with the above code. Is there a way i can explicitly define the delimiter for the CSV file.

    Looking for your reply soonest.
    Thank.
    Regards,
    Amit
  • To post as a guest, your comment is unpublished.
    Tallrific · 2 years ago
    I'm writing to determine if your application can convert multiple xls sheets to one text file and how it would order the rows. I need to have an option to order the rows in order of appearance, one line at a time one sheet at a time. Sheet 1, row 1; sheet 2, row 1, sheet 3, row1, etc. I look forward to your feedback.
  • To post as a guest, your comment is unpublished.
    Mike · 3 years ago
    Thanks for the macros, they were just what I needed.
    However, using "CurDir" to build the output filepath is very dangerous as it is not necessarily the folder of the Excel file that was opened - it is generally the current folder in explorer so your files could end up getting written practically anywhere. You should use Application.ThisWorkbook.Path instead.
  • To post as a guest, your comment is unpublished.
    Nicolas · 3 years ago
    Hi, thank you for the code, is it possible to skip some sheets and only save a few?
    I've got no idea how I should start. Could you help me?

    Nicolas
  • To post as a guest, your comment is unpublished.
    Alex K123456789 · 3 years ago
    Is there any way to have the CSV files save to a folder other than the Documents folder?
    • To post as a guest, your comment is unpublished.
      Paul · 3 years ago
      [quote name="Alex K123456789"]Is there any way to have the CSV files save to a folder other than the Documents folder?[/quote]
      I haven't tested it, but I'm pretty the "\" in this line stands for the working directory: xcsvFile = CurDir & "\" & xWs.Name & ".csv"
      If you want to change the working directory, you'll have to add another command.
      If you want to save it to a folder within the working directory, say in a folder called new you just replace "\" with "\New\".
      Something along those lines.
      • To post as a guest, your comment is unpublished.
        ALEX K123456789 · 3 years ago
        Thank you very much Paul. I wound up figuring it out a little while back, but your solution is exactly what I did.
        • To post as a guest, your comment is unpublished.
          Dawn · 2 years ago
          Hi Alex,
          Could you show me the line of code you entered in place of the "\" please? I need to be able to save these .csv files to a location on our network rather than in my local WS library. We need to allow our Customer Service people to be able to access the file and rename the location each time it is used.
          I encounter bug problems with simply changing "\" to "\New\" (the VBA code does work as expected when copied straight from the info above). I am not code saavy, but I can follow directions fairly well, so any help is appreciated!
          • To post as a guest, your comment is unpublished.
            Alex K123456789 · 2 years ago
            [quote name="Dawn"]Hi Alex,
            Could you show me the line of code you entered in place of the "\" please? I need to be able to save these .csv files to a location on our network rather than in my local WS library. We need to allow our Customer Service people to be able to access the file and rename the location each time it is used.
            I encounter bug problems with simply changing "\" to "\New\" (the VBA code does work as expected when copied straight from the info above). I am not code saavy, but I can follow directions fairly well, so any help is appreciated![/quote]

            Hi Dawn, I wound up having to re-write portions and like Paul suggested, used a slightly different command. Below is the command I wrote to refresh the data in my workbook from our Data Warehouse, then refresh pivot tables and ultimately save one of the sheets as a PDF to my drive:

            ActiveWorkbook.RefreshAll
            Sheets("Karth").Select
            Range("B22").Select
            ActiveSheet.PivotTables("Karth_Appd_Wkly").PivotCache.Refresh
            Sheets("Start").Select
            Sheets("Karth").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "K:\K\Analytics\Reports\Sales\SM Reports\SM Summary_Karth.pdf" _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
            End Sub
        • To post as a guest, your comment is unpublished.
          Paul · 3 years ago
          Nice! Thanks for the reply, it also means a lot to me to know that my solution is the correct one. Cheers!