Extraction CSV point virgule

Fermé
Viramojo - 17 janv. 2017 à 16:19
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 18 janv. 2017 à 17:33
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

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
18 janv. 2017 à 17:33
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