Save .csv avec séparateur

G

Gaétan

Guest
Bonjour,
Je suis passé de Excel 2000 à 2003. J'utilisais une macro qui lit, copie et sauve une Sheet d'un fichier XLS en CSV tout en gardant les séparateurs.
'ActiveWorkbook.SaveAs Filename:=nomf,FileFormat_:=xlCSV,CreateBackup:=False' ..
'... classCSV.Close'

Depuis que je suis en Excel2003, le csv crée n'a plus le format désiré : seules les cellules 'A' sont remplies et rien dans les autres colonnes. Je devrais alors exécuter 'data - text to columns' et cocher 'Delimiters coma' pour obtenir le format désiré.

Comment puis-je faire pour obtenir le .csv directement dans le bon format (éléments dans colonnes A, B, C ...) ?

Merci.
 

WILFRIED

XLDnaute Impliqué
Salut Gaétan,

Voici un code qui fonctionne chez moi :

Dim chemin as strring
dim wb_source as string

wb_source='clas.csv'
chemin='C:\\'
chdir(chemin)
ActiveWorkbook.SaveAs Filename:= _
chemin & wb_source, FileFormat:= _
xlCSVMSDOS, CreateBackup:=False

workbooks(wb_source).close

A+
 

Staple1600

XLDnaute Barbatruc
Bonjour

Réponse issue d'un autre post
Lien supprimé
Un exemple:

SOURCE:Lien supprimé

Sub test()
Dim fich$
fich = 'c:testCSV.csv'
SaveAsCSV fich
'OpenCSV fich
End Sub

Sub SaveAsCSV(FileName$)
'steve, mpfe
'sauvegarde la feuille active en fichier texte délimité selon
'séparateur au choix (ici ';')

Dim Range As Object, Line As Object, Cell As Object
Dim StrTemp As String

Dim Separateur As String

Separateur = ';'

Set Range = ActiveSheet.UsedRange
Open FileName 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

Message édité par: staple1600, à: 23/09/2005 14:45

Message édité par: staple1600, à: 23/09/2005 14:48
 

Discussions similaires

Statistiques des forums

Discussions
312 398
Messages
2 088 076
Membres
103 706
dernier inscrit
amin Saadaoui