[Excel vba]enregistrement au format csv

Résolu
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   -  
 david -
Bonjour,

J'utilise le code suivant :
Dim chemin
chemin = ThisWorkbook.Path & ""
ActiveWorkbook.SaveAs Filename:= _
chemin & "nomfichier.csv", FileFormat:=xlCSV, CreateBackup:=False
Mais excel me génere un fichier csv avec "," comme séparateur au lieu de ";". Quand je fais la même opération manuellement, le séparateur est bien ";" !!??

Quelqu'un à une idée ?

Merci de votre aide,

Tom

8 réponses

Juillet45
 
Bonjour,

J'ai eu le même souci de mon côté avec des macros Excel 200 qui ne fonctionne plus sous 2003.

Tout simplement car dans l'instruction SAVEAS, il y a une nouveau paramètre nommé 'local'

Il faut le mettre à TRUE pour qu'il prenne en considération les options langue d'excel.

Sinon, ilprends les options langues de Visual Basic.

Et souvent Excel est en français, donc avec un séparateur ;
Alors que VBA est en anglais avec séparateur ,.

Pour moi cela a fonctionné

voici la ligne VBA pour Excel2003 :
ActiveWorkbook.SaveAs Filename:=fname2, FileFormat:=xlCSV, CreateBackup:=False, local:=True

voici la ligne pour Excel2000:
ActiveWorkbook.SaveAs Filename:=fname2, FileFormat:=xlCSV, CreateBackup:=False
46
alx
 
Merci pour cette précision, je suis en train de migrer du VBA Excel 97 vers du 2003-2007, et vous avez mis fin à plusieurs jours de recherche.....
0
Raph
 
Merci beaucoup, j'ai eu le même problème pour migrer de 2002 à 2007 !
0