Bonjour à tous,

Je travaille en ce moment sur une base Access qui récupère les données à partir d'un fichier .csv.
Dans un premier temps, je retraite le fichier csv en l'ouvrant puis en supprimant les espaces des 4 cellules de la première ligne.
Pour cela, je fais la chose suivante :

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
 
'On retraite l'en-tête du fichier Excel
Dim xlApp As Object
Dim mySheet As Object
 
Set xlApp = CreateObject("excel.application")
Set mySheet = xlApp.Workbooks.Open(v)
 
xlApp.Visible = False
 
With xlApp.Worksheets(1)
    .Cells(1, 1) = LTrim(.Cells(1, 1))
    .Cells(2, 2) = LTrim(.Cells(2, 2))
    .Cells(3, 3) = LTrim(.Cells(3, 3))
    .Cells(4, 4) = LTrim(.Cells(4, 4))
End With
 
mySheet.Close True
xlApp.Quit
Set xlApp = Nothing
Set mySheet = Nothing
Ce code fonctionne, sauf qu'il n'enregistre pas les modifications lorsqu'il ferme ce fichier. Je pensais que le "true" après
mySheet.Close permettait cet enregistrement, mais visiblement non. Avez-vous une idée du mot-clé que je dois insérer?


Sinon , j 'ai un autre souci pour l'export du fichier csv. Pour le moment, j'ai toujours importer dans une base Access un fichier .xls
Et donc je l'importais dans ma bd via :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel47, "nomTableDansAccess", v, -1
Or la, le fichier est un .csv, et il faut donc changer le second paramètre de la fonction. Je n'ai pas vu de type correspondant au fichier csv.
L 'import d'un fichier .csv dans une base Access est donc impossible?


Merci d 'avance.