Bonjour à tous,
Une erreur 3464 apparait à ce niveau (en rouge) quand j'exécute la macro, je ne comprends pas d'ou vient l'erreur donc si vous pouviez m'aider ce serait sympa
Merci à vous,
Function IntegrationTMP_FichierBO()
Dim Rcs As Recordset
Dim Rep_TMP, Rep_ARCHIVE, Rep_ECHEC, Rep_Travail, fichier_a_integrer, Path_File As String
'Emplacement répertoire TMP contenant les fichiers à traiter
Rep_TMP = Path & "OSCAR\Alimentation\TMP\"
'Emplacement répertoire ARCHIVE
Rep_ARCHIVE = Path & "OSCAR\Alimentation\BO\ARCHIVE\"
'Emplacement répertoire ECHEC
Rep_ECHEC = Path & "OSCAR\Alimentation\BO\ECHEC\"
'Emplacement répertoire BO
Rep_Travail = Path & "OSCAR\Alimentation\BO\TRAVAIL\FichierBO.csv"
DoCmd.SetWarnings (False)
SQL = "SELECT Fichier_a_traiter as Filename FROM T_FICHIER_A_TRAITER WHERE statut = 'T' AND Type_fichier = 'BO'"
' Test si des fichiers BO existe dans T_FICHIER_A_TRAITER avec le statut T
Set Rcs = CurrentDb.OpenRecordset(SQL)
If Rcs.EOF Then
'le fichier a deja ete integré
Rcs.Close
'DoCmd.RunMacro ("006_Purge_des_donnees")
Else
Rcs.MoveFirst
Do
fichier_a_integrer = Rcs!FileName
Path_File = Rep_TMP & fichier_a_integrer
Dim objOFS As Variant
Set objOFS = CreateObject("Scripting.FileSystemObject")
If (objOFS.FileExists(Path_File)) Then
objOFS.copyFile (Path_File), Rep_Travail
End If
Set objOFS = Nothing
' appel de la macro transfertFichier
DoCmd.RunMacro ("003_Import_Fichier_BO_bis")
' si transfert OK => ARCHIVE
' sinon => ECHEC
'if then
Set objOFS = CreateObject("Scripting.FileSystemObject")
If (objOFS.FileExists(Path_File)) Then
objOFS.moveFile (Path_File), Rep_ARCHIVE
SQL1 = "UPDATE T_FICHIER_A_TRAITER SET statut = 'OK' WHERE Fichier_a_traiter = '" & fichier_a_integrer & "';"
DoCmd.RunSQL (SQL1)
Else
SQL1 = "UPDATE T_FICHIER_A_TRAITER SET statut = 'KO' WHERE Fichier_a_traiter = '" & fichier_a_integrer & "';"
DoCmd.RunSQL (SQL1)
End If
Set objOFS = Nothing
Rcs.MoveNext
If Rcs.EOF Then
Exit Do
End If
Loop
Rcs.Close
SQL = "DELETE FROM T_CA"
DoCmd.RunSQL (SQL)
DoCmd.RunMacro ("003_Import_Donnee_CA")
End If
DoCmd.SetWarnings (True)
End Function