Bonjour,

J'ai un petit souci à la mise au point de ma macro. Voilà je souhaite créer une macro qui me converti une feuille XLS en fichier CSV avec comme séparateur la virgule et les données non vide des colonnes encadrées par des guillemets

Voilà donc la code ci-dessous que j'ai créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Sub Export_CSV()
Dim Classeur, Classeur2 As Workbook
Dim NbCl, NbLg, FnCl  As Integer
Dim ValCel, Guillemets As String
 
 
    Set Classeur = ActiveWorkbook
 
    NbLg = 1
    FnCl = 3    ' 206
    Guillemets = """"
 
     'Selection de la Feuille Tableau
     Classeur.Sheets("TABLEAU").Select
 
    'Boucle de test de ligne
    Do
     'Boucle de accès aux cellules (colonnes)
 
     For NbCl = 1 To FnCl Step 1
 
 
        ValCel = Cells(NbLg, NbCl)
 
        If ValCel <> "" Then
          Cells(NbLg, NbCl) = Guillemets & ValCel & Guillemets
        End If
 
     Next NbCl
 
    'Remise à 1 du compteur de colonne
     NbCl = 1
    'Avance d'un pas compteur de ligne
     NbLg = NbLg + 1
 
     If Cells(NbLg, NbCl) = "" Then
            MsgBox " Le nombre de vos lignes converties sont :" & NbLg
     End If
 
 
    Loop Until IsEmpty (Cells(NbLg, NbCl))
 
     Classeur.SaveAs Filename:="C:\Peupl.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
 
    Workbooks("Peupl.csv").Close savechanges:=True
 
End Sub
Malheureusement à chaque fois que j'execute cette macro j'obtiens bien un fichier CSV mais seul les données de ma première colonne sont encadrées par des guillemets. Pour les autres colonnes je me retrouve avec des double guillemets tel que :

Données fichier XLS d'entrée :

Nom|Prénom|Nom patrynomique|etc..

Données du fichier CSV créé par ma macro

"Nom",""Prénom"",""Nom patrynomique", etc..

Pouvez ous m'aider je ne vois où j'ai bien put faire une erreur