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   -
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

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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