Séparateur csv : virgule ou point virgule ?

Lorsque j'enregistre en format CSV, excel utilise le point-virgule comme séparateur. Comment faire pour que ce soit la virgule ?

2 macros qui te permettent de choisir ce que tu veux comme séparateur. Tu choises :-) enregistrer une feuille au format CSV (changez le séparateur 'par ce que vous voulez) 'steve, mpfe

sub SaveAsCSV()
 Dim Range As Object, Line As Object, Cell As Object
 Dim StrTemp As String
 
 Dim Separateur As String
 
   Separateur = ";"
   Set Range = ActiveSheet.UsedRange
 
 Open "Test.csv" For Output As #1
 For Each Line In Range.Rows
 StrTemp = ""
     For Each Cell In Line.Cells
       StrTemp = StrTemp & CStr _
         (Cell.Text) & Separateur
     Next
    Print #1, StrTemp '= " "
  Next
 Close
 end sub

Autre méthode Pour enregistrer avec le séparateur point-virgule : Cells.Replace vbTab, ";", xlPart L Longre, mpfe

sub EnregistrerCSV()
  Dim Nom As String, Rep
  With
 ActiveWorkbook
   Nom = .Name
   If .Path <> "" Then Nom = Left$(Nom, InStr(1, Nom, ".") - 1)
  End With
  Rep = Application.GetSaveAsFilename(Nom, "Fichier CSV,*.csv")
  If VarType(Rep) = vbBoolean Then exit sub
 
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 
 ActiveSheet.Copy
  ActiveWorkbook.SaveAs Rep, xlTextWindows
 
 Workbooks.OpenText Rep
  'ici le séparateur est une virgule :
  Cells.Replace
 vbTab, ",", xlPart
  ActiveWorkbook.SaveAs Rep, xlTextWindows
 
 ActiveWorkbook.Close False
  Application.DisplayAlerts = True
 end sub

Auteurs : , ,

Mots clefs associés à cette page : , ,