Bonjour à tous,
Je suis un débutant dans les macros et j'ai de ce fait quelques soucis :
J'ai une variable tableau dans laquelle j'ai un certain nombre de données. Je souhaite copier ces données dans une nouvelle feuille d'un nouveau classeur dont le format est de type CSV. Dans la mesure où excel "force"/remplace les points des nombres contenus dans ce tableau par des virgules alors que ce n'est pas le format attendu, j'ai procédé par FSO pour contourner ce problème :
Code :
Mais je ne suis pas satisfait de la méthodologie et du résultat (obligé d'utiliser l'outil Excel de conversion, écrase le fichier existant,...)
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 Sub fso_test() Dim tabl() As Variant Dim csvFilePath As Variant Const ForWriting = 2 Dim objFSO As Object Dim objCSVFile As Object Dim i As Integer Dim j As Integer tabl = Range("A1").CurrentRegion 'juste un exemple car les données du tableau sont issues d'un autre traitement Debug.Print tabl(1, 2) 'Creation CSV csvFilePath = "C:\TestExport.csv" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objCSVFile = objFSO.CreateTextFile(csvFilePath, _ ForWriting, True) 'Copie des données For i = 1 To UBound(tabl, 1) For j = 1 To UBound(tabl, 2) objCSVFile.Write Chr(34) & tabl(i, j) & Chr(34) & "," Next objCSVFile.Writeline Next objCSVFile.close set objCSVFile = nothing set objFSO = nothing End sub
Du coup, pour synthétiser, auriez-vous des lignes de code svp permettant de solder les points suivants :
- PB de la virgule forcée par excel (ce qui est normal format local) lors de la copie des données du tableau dans une feuille excel : ça marche en changeant le format des colonnes concernées en texte + replace, mais existe t il une solution m'épargnant ces lignes de code?
- Export des données de la variable tableau dans un fichier CSV avec test si fichier existant pour ne pas l'écraser
- Egalement un code permettant d'insérer une ligne supplémentaire dans mon tableau déclaré en variable, est-ce "possible"?
En vous remerciant d'avance.
Partager