VBA enregistrement excel sous csv

mcchipie Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 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



A voir également:

1 réponse

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