[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

  1. 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
    1. 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
    2. Raph
       
      Merci beaucoup, j'ai eu le même problème pour migrer de 2002 à 2007 !
      0