Bonjour,

Je suis en train de chercher à exporter un tableau excel en .csv, or le simple enregistrement au format ne suffit pas pour utiliser les données dans le programme après.

Je dois donc actuellement rentrer manuellement les valeurs séparées par des , puis sauvegarder pour pouvoir l'utiliser après.

j'ai voulu l'automatiser, en faisant une petite macro que voici:

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
Sub convertion()
Application.ScreenUpdating = False
Dim ligne As String
Feuil1.Activate
Dim NbLigne As Integer, NbCol As Integer, i As Integer, j As Integer
NbLigne = Range("A" & Rows.Count).End(xlUp).Row
NbCol = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To NbLigne
    ligne = CStr(Cells(i, 1))
    For j = 2 To NbCol
    ligne = ligne + "," + CStr(Cells(i, j))
    Next
    Feuil2.Activate
    Cells(i, 1) = ligne
    Feuil1.Activate
Next
Feuil2.Activate
Dim chemin As Variant
Application.ScreenUpdating = True
chemin = Application.GetSaveAsFilename( _
                                    fileFilter:="Excel Files (*.csv), *.csv")
If chemin <> False Then
    ActiveWorkbook.SaveAs Filename:= _
chemin, FileFormat:=xlCSV _
, CreateBackup:=False
End If
End Sub
Cependant, comme il écrit un string dans la case il inclut aussi les guillemets "". J'ai vu en cherchant que l'on pouvait éviter cela en utilisant print # cependant comment l'utiliser pour une variable??

à noter que si je ré ouvre le fichier issu de cette macro et que je ré enregistre cela fonctionne parfaitement.

(si j'ouvre le fichier avec le bloc notes, j'obtiendrais dans le premier cas: "1,2,3,4", puis après réenregistrement 1,2,3,4)

il est clair que le logiciel utilisant le ficher ne supporte donc pas les guillemets cependant je ne trouve pas comment les supprimer, j'ai essayé de voir en utilisant la fonction mid, mais cela ne coupe pas les guillemets.

Si vous avez une idée merci de le faire savoir.