Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

  • Initiateur de la discussion Initiateur de la discussion KIM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KIM

XLDnaute Accro
Bonsoir les ami(e)s , et le forum,

A partir d'un répertoire sélectionné, je dois scanner ce répertoire et ses sous-répertoires et sauvegarder un nombre important de fichiers xls au format csv (séparatuer point-virgule). J'ai besoin de votre aide pour résoudre les problèmes ci-dessous.
La macro GO, voir fichier ci-joint,
lance le scan en choisissant le répertoire où scanner + ses sous répertoires
lance la procédure SauveCSV qui :
- Recherche dans le répertoire sélectionné et ses sous-répertoires les fichiers dont le nom se termine par *SURF.xls
les ouvre et les sauvegarde au format .csv.

Je me heurte aux problèmes suivants :

- le nom du fichier sauvegardé est composé du nom du fichier avec son extension xls plus l'extension .csv (toto.xls.csv). Or il me faut le nom du fichier sans l'extension xls et avec seulement l'extension csv (toto.csv).

- la sauvegarde ne se fait pas dans le répertoire du fichier xls. La macro sauvegarde tout dans le premier répertoire scanné.

merci d'avance.
KIM
 

Pièces jointes

Re : Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

Bonsoir,

- la sauvegarde ne se fait dans le répertoire du fichier xls. La macro sauvegarde tout dans le premier répertoire scanné.

Pas très explicite!? Quel fichier xls? Celui de la macro?

enregistre dans le répertoire de la macro:
Code:
 ActiveWorkbook.SaveAs Filename:= _
        ThisWorkbook.Path & "\" & Replace(ActiveWorkbook.Name, ".xls", ".csv"), FileFormat:= _
        xlCSV, CreateBackup:=False

A+
 
Re : Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

Bonsoir Hasco, et le forum,
En effet, dans une arborescence donné, chaque fichier rencontré dont le nom se termine par "*SURF.xls" doit être sauvegardé au format csv (*SURF.csv) au même niveau de l'arborescence du fichier origine xls. c-à_d à côté de chaque fichier "*SURF.xls" doit se trouver un fichier "*SURF.csv".
Merci d'avance
KIM
 
Re : Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

Re,

Tu peux peut-être au moins essayer d'adapter les lignes de codes de que je t'ai données plus haut.
Le chemin d'un classeur: WorkBooks("LeClasseur.xls").Path

A+
 
Re : Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

Bonjour Hasco, & le forum,
Je viens de tester ta modif. Je retrouve bien les fichiers xls au format csv côte à côte.

ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & "\" & Replace(ActiveWorkbook.Name, ".xls", ".csv"), FileFormat:= _
xlCSV, CreateBackup:=False


Par contre, en ouvrant le fichier csv, le séparateur ";" est devenu une virgule ",". Manuellement saveas format csv (séparateur point-virgule) me donne un fichier csv correct. Comment forcer le séparateur ";" dans le fichier csv créé automatiquement via le code ci-dessus?

Merci d'avance
KIM
 
Re : Sauvegarder un ensemble de fichiers au format csv avec séparateur point-virgule

Re,

Essaie de rajouter le paramètre 'Local':
Code:
ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & "\" & Replace(ActiveWorkbook.Name, ".xls", ".csv"), FileFormat:= _
xlCSV, CreateBackup:=False, Local:=True

Voir l'aide excel sur saveas. Local enregistre en fonction des paramètre de la langue de l'application installée. Et les séparateurs, décimaux, de millier et autre font partie de ces paramètres.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour