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éeplus
  • 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 gammesplus
  • 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 cellulesplus
  • 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 PDFplus
  • 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 (36)
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 ?
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.
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.
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!
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 !
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
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
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.
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.
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
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
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,
Ce commentaire a été minimisé par le modérateur sur le site
Désolé, je ne peux pas résoudre ce problème
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.
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" ?
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.
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.
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.
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.
Ce commentaire a été minimisé par le modérateur sur le site
Merci - script très utile
Ce commentaire a été minimisé par le modérateur sur le site
Superbe solution ..... Cela m'a fait gagner du temps ....... Merci
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
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.
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!
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/.
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 ?
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
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.
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Le premier code VBA de cet article peut vous rendre service.
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.
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
Ce commentaire a été minimisé par le modérateur sur le site
Salut, merci pour l'excellent code, c'est génial (exporter toutes les feuilles vers des fichiers texte séparés) ! Je l'ai utilisé à plusieurs reprises, mais j'ai rencontré un fichier où il ne fonctionnera pas, le débogueur indique l'erreur d'exécution 1004 et cette méthode de copie d'une feuille de calcul a échoué et marque la ligne xWs.Copy. Existe-t-il une règle concernant un nom de feuille de calcul qui ne permettrait pas au code de s'exécuter ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut, merci pour l'excellent code (exporter toutes les feuilles vers des fichiers texte séparés), en l'utilisant beaucoup. Je viens de tomber sur un classeur où cela ne fonctionnera pas, le débogueur indique que la ligne xWs.Copy est un problème, la fenêtre contextuelle indique que la méthode de copie d'un classeur a échoué. Existe-t-il des restrictions concernant un nom de feuille de calcul ou quelque chose de similaire, comme pas de cellules fusionnées, etc. ?

Merci pour une réponse :)
Ce commentaire a été minimisé par le modérateur sur le site
Salut BI,
Votre feuille de calcul contient-elle un tableau croisé dynamique ? Pouvez-vous nous fournir vos données pour les tests ? Si cela ne vous dérange pas, téléchargez votre fichier d'exemple ici.
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés