Macro Access import CSV et move files
Bonjour,
Je suis en train de créer une macro sous Access pour importer des fichiers csv et j'aimerais qu'après l'import des CSV dans la base Access, je puisse déplacer les fichiers traités vers un autre répertoire.
J'ai pu voir pour l'import des csv dans la base Access mais je bloque sur le déplacement des fichiers.
Actuellement, ma macro qui fonctionne pour l'import des CSV :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Public Sub RepertoireList()
Dim FolderName As String
Dim FileList As String
Dim FileToBeLoaded As String
tblName = "Table_Test" 'This is to import all files into one table.
FolderName = "c:\CSV\"
FolderNameMove = "c:\CSV\Old"
FileList = Dir(FolderName & "\*.csv")
While (Len(Trim$(FileList)) > 0)
If (Len(Trim$(FileList))) > 0 Then
FileToBeLoaded = FolderName & FileList
DoCmd.TransferText acImportDelim, "Test2 Import Specification", tblName, FileToBeLoaded, False
End If
FileList = Dir
Wend
End Sub |
J'ai ajouté la méthode FSO.MoveFile pour le déplacement des fichiers, mais cela ne fonctionne pas sans que j'arrive à voir ce qui bloque :
Code:
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
|
Public Sub RepertoireList()
Dim FolderName As String
Dim FileList As String
Dim FileToBeLoaded As String
tblName = "Table_Test" 'This is to import all files into one table.
FolderName = "c:\CSV\"
FolderNameMove = "c:\CSV\Old"
FileList = Dir(FolderName & "\*.csv")
While (Len(Trim$(FileList)) > 0)
If (Len(Trim$(FileList))) > 0 Then
FileToBeLoaded = FolderName & FileList
DoCmd.TransferText acImportDelim, "Test2 Import Specification", tblName, FileToBeLoaded, False
End If
FileList = Dir
Wend
'Move files after import
Set FSO = CreateObject("scripting.filesystemobject")
FSO.MoveFile Source:=FolderName, Destination:=FolderNameMove
End Sub |
En Debug, j'ai l'alerte "Run-Time error '53' File not found".
Ce que je ne comprends pas car il voit bien le fichier et qu'il est traité pour l'import dans ma base Access.
Auriez-vous une idée du problème ??
D'autre part, j'aimerais que cette macro puisse s’exécuter à chaque fois que l'utilisateur ouvre la DB Access : y'a t'il une méthode qui permettent de le faire ?
Merci d'avance.