Conversion XLS en CSV pb "," et ";"

Conversion XLS en CSV pb "," et ";" - VB/VBA/VBS - Programmation

Marsh Posté le 03-10-2006 à 16:50:49    

Bonjour,
 
Voici mon code
 

Code :
  1. Sub SvgCSV()
  2. Dim str
  3. Dim NonFichier
  4. Dim i
  5. i = 1
  6. While Cells(i, 2).Value <> ""
  7.     Sheets(1).Select
  8.     str = ""
  9.     NonFichier = ""
  10.     str = Cells(i, 3).Value
  11.     NonFichier = Cells(i, 2).Value
  12.     If Mid(str, 1, 12) = "Créer un CSV" Then
  13.     Sheets(NonFichier).Select
  14.     ActiveWorkbook.SaveAs Filename:=NonFichier + ".csv", FileFormat _
  15.         :=xlCSV, CreateBackup:=False
  16.     MkDir Left(Right(NonFichier, 12), 7)
  17.     End If
  18.     i = i + 1
  19. Wend
  20. End Sub


 
La sauvegarde en csv se passe bien. Le seul pb que je recontre est la séparation entre les champs, il me met une "," à la place d'un ";"
Comme dois - je faire ?
 
Merci

Reply

Marsh Posté le 03-10-2006 à 16:50:49   

Reply

Marsh Posté le 03-10-2006 à 17:40:41    

Le format CSV veut dire « Comma-separated values », donc « valeurs séparées par des virgules ».
Si le format est implémenté de manière stricte, tu ne peux pas changer le séparateur.  
Sinon, ce séparateur peut dépendre des options régionales car le séparateur de liste français est le point-virgule (comme tu le veux d'ailleurs) alors que c'est la virgule dans le système américain.
Je ne sais pas s'il existe des paramètres Excel permettant de jouer la-dessus.
J'espère que d'autres pourront mieux t'aider.

Reply

Marsh Posté le 03-10-2006 à 18:28:21    

Bonsoir,
Trouvé ceci:
 
Dans Excel 2002 tu as le choix d'utiliser ou non le séparateur défini dans les paramètres
régionaux de ton ordinateur.
 
ActiveWorkbook.SaveAs Filename:= "C:TEST.csv", FileFormat:=xlCSV, _
CreateBackup:=False, local:=True
 
Le secret est dans Local:=true.
Ceci permet d'indiquer à excel d'utiliser le séparateur de liste défini dans tes paramètres
régionaux. Par défaut il utilise la virgule.
C'est une nouveauté Excel 2002.
 
 
je n'ai pas testé
Cordialement

Reply

Marsh Posté le 04-10-2006 à 12:15:51    

merci ça marche

Reply

Marsh Posté le 10-10-2006 à 14:34:22    

Sinon, tu peux sauver comme un fichier texte, en nommant ton fichier en .csv, et en définissant le paramètre delimiter=";"


---------------
"Mon modèle, c'est moi-même."
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed