Note: The other languages of the website are Google-translated. Back to English

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

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

Enregistrez, exportez ou convertissez 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


Enregistrez, exportez ou convertissez 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. Veuillez 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: exportez toutes les feuilles vers 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 que tous les fichiers csv exportés se trouvent sur le Documents 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: exportez toutes les feuilles vers 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 se trouvent également sur le Documents dossier. Voir la capture d'écran:


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

YVous pouvez rapidement exporter ou convertir plusieurs feuilles ou toutes les feuilles en fichiers CSV individuels, fichiers texte ou fichiers au format xls dans Excel avec le Classeur fractionné utilité de Kutools pour Excel.

Avant d'appliquer Kutools pour Excel, S'il vous plaît téléchargez et installez-le d'abord.

1. Cliquez Kutools Plus > Classeur > Classeur fractionné. Voir la capture d'écran:

2. dans le Classeur fractionné boite de dialogue:

  • 1). Si vous souhaitez convertir toutes les feuilles en fichiers csv ou texte, gardez simplement tous les noms de feuille cochés dans le Nom de la feuille de travail boîte; Si vous souhaitez simplement convertir plusieurs feuilles, continuez à les vérifier et décochez les autres feuilles que vous ne souhaitez pas convertir.
  • 2). dans le Options : section, vérifiez la Enregistrer en tant que type de 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 .

Désormais, 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 vous l'avez spécifié ci-dessus.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


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


Les meilleurs outils de productivité de bureau

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 e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • 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 par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition 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é de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (31)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen d'enregistrer les fichiers CSV dans un dossier autre que le dossier Documents ?
Alex K123456789
Ce commentaire a été minimisé par le modérateur sur le site
[quote]Existe-t-il un moyen d'enregistrer les fichiers CSV dans un dossier autre que le dossier Documents ?Par Alex K123456789[/quote] Je ne l'ai pas testé, mais je suis assez le "\" dans cette ligne représente le répertoire de travail : xcsvFile = CurDir & "\" & xWs.Name & ".csv" Si vous voulez changer le répertoire de travail, vous devrez ajouter une autre commande. Si vous souhaitez l'enregistrer dans un dossier du répertoire de travail, par exemple dans un dossier appelé nouveau, vous remplacez simplement "\" par "\Nouveau\". Quelque chose dans ce sens.
paul
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup Paul. J'ai fini par le comprendre il y a peu de temps, mais votre solution est exactement ce que j'ai fait.
ALEX K123456789
Ce commentaire a été minimisé par le modérateur sur le site
Joli! Merci pour la réponse, cela signifie aussi beaucoup pour moi de savoir que ma solution est la bonne. Acclamations!
paul
Ce commentaire a été minimisé par le modérateur sur le site
Salut Alex, Pourriez-vous me montrer la ligne de code que vous avez entrée à la place du "\" s'il vous plaît ? Je dois pouvoir enregistrer ces fichiers .csv dans un emplacement de notre réseau plutôt que dans ma bibliothèque WS locale. Nous devons permettre à notre service clientèle d'accéder au fichier et de renommer l'emplacement à chaque fois qu'il est utilisé. Je rencontre des problèmes de bogue en changeant simplement "\" en "\Nouveau\" (le code VBA fonctionne comme prévu lorsqu'il est copié directement à partir des informations ci-dessus). Je ne connais pas le code, mais je peux assez bien suivre les instructions, donc toute aide est appréciée !
Aube
Ce commentaire a été minimisé par le modérateur sur le site
[quote]Bonjour Alex, Pourriez-vous me montrer la ligne de code que vous avez saisie à la place du "\" s'il vous plaît ? Je dois pouvoir enregistrer ces fichiers .csv dans un emplacement de notre réseau plutôt que dans ma bibliothèque WS locale. Nous devons permettre à notre service clientèle d'accéder au fichier et de renommer l'emplacement à chaque fois qu'il est utilisé. Je rencontre des problèmes de bogue en changeant simplement "\" en "\Nouveau\" (le code VBA fonctionne comme prévu lorsqu'il est copié directement à partir des informations ci-dessus). Je ne connais pas le code, mais je peux assez bien suivre les instructions, donc toute aide est appréciée !Par l'aube[/quote] Salut Dawn, j'ai fini par devoir réécrire des parties et comme Paul l'a suggéré, j'ai utilisé une commande légèrement différente. Vous trouverez ci-dessous la commande que j'ai écrite pour actualiser les données de mon classeur à partir de notre entrepôt de données, puis actualiser les tableaux croisés dynamiques et enfin enregistrer l'une des feuilles au format PDF sur mon lecteur : ActiveWorkbook.RefreshAll Sheets("Karth").Select Range(" B22").Sélectionnez 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
Alex K123456789
Ce commentaire a été minimisé par le modérateur sur le site
Salut, merci pour le code, est-il possible de sauter certaines feuilles et d'en conserver seulement quelques-unes ? Je n'ai aucune idée de comment je dois commencer. Pourriez-vous m'aider? Nicolas
Nicolas
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour les macros, c'était exactement ce dont j'avais besoin. Cependant, l'utilisation de "CurDir" pour créer le chemin du fichier de sortie est très dangereuse car ce n'est pas nécessairement le dossier du fichier Excel qui a été ouvert - c'est généralement le dossier actuel dans l'explorateur, de sorte que vos fichiers pourraient finir par être écrits pratiquement n'importe où. Vous devez utiliser Application.ThisWorkbook.Path à la place.
Michel
Ce commentaire a été minimisé par le modérateur sur le site
J'écris pour déterminer si votre application peut convertir plusieurs feuilles xls en un seul fichier texte et comment elle ordonnerait les lignes. J'ai besoin d'avoir une option pour ordonner les rangées par ordre d'apparition, une ligne à la fois, une feuille à la fois. Feuille 1, rangée 1 ; feuille 2, rangée 1, feuille 3, rangée 1, etc. J'attends vos commentaires avec impatience.
Tallrifique
Ce commentaire a été minimisé par le modérateur sur le site
Salut, merci pour le code, j'ai juste une petite précision. Actuellement, lorsque le fichier CSV est généré, il est délimité par une virgule ",". même si mon paramètre système est pour CSV, le délimité doit être le tuyau "|". Vous ne savez pas pourquoi le CSV est généré avec un délimiteur de virgule avec le code ci-dessus. Existe-t-il un moyen de définir explicitement le délimiteur du fichier CSV. Vous cherchez votre réponse au plus tôt. Remercier. Cordialement, Amit
Amit Chaudhary
Ce commentaire a été minimisé par le modérateur sur le site
bonjour alex s'il vous plait pourriez vous afficher le code pour enregistrer les fichiers au format csv sauf le dossier documents
Ashish
Ce commentaire a été minimisé par le modérateur sur le site
salut j'ai besoin d'une macro qui convertit le tuyau "|" csv séparé en xlsx demandant le nom du dossier pas un seul fichier. j'en ai besoin de toute urgence.


Salutations,
Tausef Kundalia
Ce commentaire a été minimisé par le modérateur sur le site
Désolé, je ne peux pas résoudre ce problème
cristal
Ce commentaire a été minimisé par le modérateur sur le site
J'ai besoin d'une macro pour convertir tous les onglets d'un fichier Excel en différents ensembles de fichiers.
Abhishek Jha™
Ce commentaire a été minimisé par le modérateur sur le site
Good Day,
Quels fichiers souhaitez-vous inclure dans votre "ensemble de fichiers différent" ?
cristal
Ce commentaire a été minimisé par le modérateur sur le site
1) J'ai un classeur avec plusieurs feuilles.
2) Ces multiples feuilles ont plusieurs colonnes.
3) J'ai une colonne dans chaque feuille qui est la concaténation de toutes les autres colonnes.
4) Maintenant, je veux extraire cette colonne concaténée dans un fichier texte portant le même nom que le nom de la feuille.
5) La façon dont je veux est que j'appuie simplement sur un bouton et il devrait rechercher tous les onglets, extraire cette colonne (disons que la colonne concaténée est AA) de chaque feuille, la mettre dans un fichier texte, nommer le fichier texte comme le nom de la feuille et stocker dans un répertoire sur mon bureau, par exemple le lecteur H.
R
Ce commentaire a été minimisé par le modérateur sur le site
Good Day,
Désolé, je ne peux pas vous aider, vous pouvez poser votre question sur notre forum : https://www.extendoffice.com/forum.html pour obtenir plus de supports Excel de notre professionnel.
cristal
Ce commentaire a été minimisé par le modérateur sur le site
A, je vois maintenant que la ligne "Code VBA : Exporter toutes les feuilles vers des fichiers csv séparés" ne doit pas être copiée dans la zone de code. Peut-être que cela peut être plus explicite pour les débutants et pour les personnes qui suivent explicitement les instructions.
Ken
Ce commentaire a été minimisé par le modérateur sur le site
Salut Ken,
C'est la ligne de description du code. La ligne "Sub ExportSheetsToCSV()" doit être la première ligne du code.
Je suis désolé du dérangement.
cristal
Ce commentaire a été minimisé par le modérateur sur le site
Merci - script très utile
Cameron Stewart
Ce commentaire a été minimisé par le modérateur sur le site
Superbe solution ..... Cela m'a fait gagner du temps ....... Merci
vous le savez
Ce commentaire a été minimisé par le modérateur sur le site
Si vous souhaitez simplement convertir plusieurs feuilles, continuez à les vérifier et décochez les autres feuilles que vous ne souhaitez pas convertir.
monsieur pour cette étape avez-vous une macro
AK sharma
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,
Je ne peux pas aider avec le code VBA pour cela. Pourquoi ne pas essayer l'utilitaire Split Workbook que nous fournissons dans le post ? Cela vous fera gagner du temps et vous l'aimerez.
cristal
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
merci beaucoup pour une super macro, ça marche comme un charme! Mais j'ai une question, que se passe-t-il si je souhaite enregistrer cette macro (version CSV) sur PERSONAL.xlsb afin de la rendre disponible sur n'importe quelle instance Excel ?

Lorsque j'essaie, CurDir prend le répertoire PERSONAL, au lieu de celui de la feuille de calcul active ...

Merci pour toute aide!
Mirko
Ce commentaire a été minimisé par le modérateur sur le site
Salut Mirko,
La méthode de cet article peut vous rendre service : https://trumpexcel.com/personal-macro-workbook/.
cristal
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen d'utiliser ce code pour exporter uniquement une certaine plage vers un fichier .csv de chaque feuille d'un livre ?
Tarah Collins
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Le code VBA de cet article peut vous rendre service : https://www.extendoffice.com/documents/excel/2897-excel-export-range-to-csv.html
cristal
Ce commentaire a été minimisé par le modérateur sur le site
Alors, c'est super ! MAIS, que se passe-t-il si j'ai besoin de diviser un classeur en .csv mais pour PC, pas MAC ? Si quelqu'un a une méthode, merci de m'aider. Je serai très reconnaissant.
France
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Le premier code VBA de cet article peut vous rendre service.
cristal
Ce commentaire a été minimisé par le modérateur sur le site
comment changer le code pour qu'il soit enregistré dans un format de fichier différent tel qu'un xlsx ? ou ASCII.
nathan
Ce commentaire a été minimisé par le modérateur sur le site
Merci! J'ai utilisé cela pour enregistrer toutes les feuilles de mon fichier .xlsx dans différents .xlsx
Sous ExportSheetsToXLSX()
Feuille de travail Dim xWs As
Estomper le fichier xcsv en tant que chaîne
Pour chaque xW dans Application.ActiveWorkbook.Worksheets
xWs.Copy
xlsxFile = CurDir & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.SaveAs Filename :=xlsxFile, _
FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False
Application.ActiveWorkbook.Saved = Vrai
Application.ActiveWorkbook.CloseApplication.ActiveWorkbook.Close
Suivant
End Sub
Tim
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0  Personnages
Emplacements suggérés