Si vous souhaitez exporter le contenu d’un fichier Excel en CSV en protégeant les champs avec des doubles quottes voici un code qui vous permettra de le faire facilement.
- La première chose à faire est de supprimer les doubles quottes du contenu de votre feuille Excel.
- Faites ALT+F8 pour ouvrir visual basic puis sélectionnez la feuille Excel à partir de laquelle vous souhaitez exporter les données.
- Copiez/collez ensuite le code ci-dessus dans la fenêtre Visual Basic puis validez
- Retournez dans votre feuille Excel puis faites ALT+F8 puis sélectionnez la macro que vous venez de créer puis cliquez sur « Exécuter » et choisissez le fichier à produire en sortie
Sub CSVFile()
Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
ListSep = Application.International(xlListSeparator)
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ìî
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next
Close #1
End Sub
Code Visual Basic permettant d’ajouter des doubles quottes à un export CSV sous Excel