VBA enregistrement excel sous csv
mcchipie
Messages postés
4
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Lorsque je fais manuellement un enregistrement d'un fichier au format csv, j'ai bien des séparateurs ";".
Lorsque je l'automatise avec une macro avec le paramètre Local:=True, et l'option régionale séparateur de liste ".", mon fichier csv a pour séparateur des ",".
Comment puis je faire pour avoir les points virgules?
Merci d'avance
Lorsque je fais manuellement un enregistrement d'un fichier au format csv, j'ai bien des séparateurs ";".
Lorsque je l'automatise avec une macro avec le paramètre Local:=True, et l'option régionale séparateur de liste ".", mon fichier csv a pour séparateur des ",".
Comment puis je faire pour avoir les points virgules?
Merci d'avance
1 réponse
-
Bonjour,
Après une courte recherche :
le problème est connu : l'anglais ne reconnaît pas le point virgule qu'il sait pourtant traduire "semicolon"
Pour faire ce que tu veux, tu dois créer ton fichier comme un fichier texte (avec extension csv)
Utilises donc le code d'Ouskelnor NON TESTE mais j'ai toute confiance... :Sub CréerFichierCSV() Dim i, j, DernièreLigne, DernièreColonne Application.ScreenUpdating = False ActiveSheet.Range("A1").Select 'A ADAPTER Selection.CurrentRegion.Select 'A ADAPTER Set tbl = ActiveCell.CurrentRegion 'A ADAPTER DernièreLigne = tbl.Rows.Count DernièreColonne = tbl.Columns.Count Cells(1, 1).Select 'A ADAPTER Open "p:\MonFichier.csv" For Output As #1 For i = 1 To DernièreLigne For j = 1 To DernièreColonne - 1 Print #1, Cells(i, j).Formula + ";"; 'sépare tes données par ; Next j Print #1, Cells(i, j + 1).Formula 'Fin de ligne Next i Close #1 End Sub