9 votes

Enregistrer des feuilles Excel individuelles au format CSV

Je dois analyser des feuilles de calcul Excel. Maintenant, je sauvegarde chaque feuille de calcul individuelle en tant que .csv et ça fonctionne très bien. J'utilise OpenCSV pour analyser les fichiers, etc. mais la création de ces fichiers .csv est pénible.

Quel serait le moyen le plus simple et le plus rapide de sauvegarder des feuilles de calcul individuelles en tant que .csv dans Excel ? Je suppose qu'une sorte de macro VBA ferait l'affaire, mais comme je ne suis pas programmeur VBA, je ne sais pas comment faire. Peut-être que je peux simplement enregistrer une macro d'une manière ou d'une autre ?

19voto

Fionnuala Points 67259

Très approximativement,

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    ws.SaveAs "C:\docs\" & ws.Name & ".csv", xlCSV
Next

Cela ne comprend pas de gestion d'erreur ni ne prend en compte les noms de feuilles pouvant conduire à des noms de fichiers illégaux. Tout dépend de la robustesse dont vous avez besoin pour l'ensemble du processus.

3voto

JMax Points 12956

Comme première réponse, voici le code utilisé pour enregistrer un fichier au format CSV :

ActiveWorkbook.SaveAs "C:\Marthinus.csv", fileformat:=6

Plus d'informations sur SaveAs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X