VBA enregistrement excel sous csv

Fermé
mcchipie Messages postés 4 Date d'inscription vendredi 17 août 2012 Statut Membre Dernière intervention 24 août 2012 - 21 août 2012 à 09:18
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 21 août 2012 à 09:30
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



A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750
21 août 2012 à 09:30
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

0