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 :
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 : 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 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
En Debug, j'ai l'alerte "Run-Time error '53' File not found".
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 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
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.
Partager