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

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

  • SAUVECSV.zip
    48.3 KB · Affichages: 52
G

Guest

Guest
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+
 

KIM

XLDnaute Accro
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
 
G

Guest

Guest
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+
 

KIM

XLDnaute Accro
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
 
G

Guest

Guest
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+
 

Discussions similaires

Réponses
19
Affichages
2 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16