Extraction CSV point virgule

Viramojo -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis en train de me casser la tête sur une exportation CSV point virgule depuis excel.

Mon fichier doit être sous le format ";code article;quantité"

C'est surtout le point virgule qui se trouve avant "code article" que je n'arrive pas à insérer

J'ai utilisé cette macro trouver sur le forum :

---------------------------------

Sub ExportCSV()

Dim Fd As FileDialog
Dim strChaine As String

Dim Plage As Range

Dim Ligne As Long
Dim Colonne As Integer

'Fenêtre de choix d'emplacement et nom du fichier en sortie
Set Fd = Application.FileDialog(msoFileDialogSaveAs)

'Ajout du filtre
Fd.FilterIndex = 15

'Sortie si pas de fichier
If Fd.Show = False Then Exit Sub

'Plage a transformer en CSV
Set Plage = Selection

'Ouverture du fichier de sortie
Open Fd.SelectedItems(1) For Output As #1

'Boucle sur la plage et ajoute les lignes au fichier
For Ligne = 1 To Plage.Rows.Count
For Colonne = 1 To Plage.Columns.Count
If strChaine <> "" Then strChaine = strChaine & ";"
strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
Next Colonne
Print #1, strChaine
strChaine = ""
Next Ligne

'Fermeture du fichier
Close #1

MsgBox "Fichier : " & Fd.SelectedItems(1) & " disponible"

End Sub

-----------------------------------------

Merci à tous pour votre aide si précieuse

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Sub ExportCSV()
        Dim Fd As FileDialog
        Dim strChaine As String
        Dim Plage As Range
        Dim Ligne As Long
        Dim Colonne As Integer
    
        'Fenêtre de choix d'emplacement et nom du fichier en sortie
        Set Fd = Application.FileDialog(msoFileDialogSaveAs)
        'Ajout du filtre
        Fd.FilterIndex = 15
        'Sortie si pas de fichier
        If Fd.Show = False Then Exit Sub
        'Plage a transformer en CSV
        Set Plage = Selection
        'Ouverture du fichier de sortie
        Open Fd.SelectedItems(1) For Output As #1
            'Boucle sur la plage et ajoute les lignes au fichier
            For Ligne = 1 To Plage.Rows.Count
                For Colonne = 1 To Plage.Columns.Count
                    If strChaine <> "" Then strChaine = strChaine & ";"
                    strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
                Next Colonne
                Print #1, ";" & strChaine
                strChaine = ""
                Next Ligne
            'Fermeture du fichier
        Close #1
        MsgBox "Fichier : " & Fd.SelectedItems(1) & " disponible"
    End Sub
    0