VBA enregistrement excel sous csv
mcchipie
Messages postés
4
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
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
A voir également:
- VBA enregistrement excel sous csv
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
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... :
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