Bonjour,

Mes clients me remontent des données mensuellement, et dans ces dernières nous avons des informations qui ne sont pas reprises.

Je ne peux pas les traiter manuellement il y a des milliers de fichiers

Mon objectif à travers mon code VBA est de recopier ses données de la table en question et de stocker tout dans une Table principale.

En conclusion, j'ai une bases de données principale et pleins de petites à côté.

Le problème est qu'ACCESS plante pendant le processus.

Le code ci dessous contient peut être des erreurs, ou une optimisation peut être réalisé

Merci à vous


Private Sub Commande0_Click()
Dim db As DAO.Database
Dim i As Long
Dim rs_adh As DAO.Recordset
Dim sql_adh As String
Dim Dossier, TypeFichier As String
Set db = CurrentDb()

sql_adh = " Select * from Table1"
Set rs_adh = db.OpenRecordset(sql_adh)

While Not rs_adh

NbFichiers = 0

Dossier = Dir("L:\TEMP\" & rs_adh("ADH") & "\*.mdb")

ListeFichiersTableau Dossier, rs_adh("ADH")

rs_adh.MoveNext

Wend
End Sub


Private Sub ListeFichiersTableau(ByVal Dossier As String, ByVal Adherent)

Dim NomFichier As String

Dim devis_rs As DAO.Recordset
Dim devis_sql As String
Dim devisdb As DAO.Database
Dim dumpdb As String
Dim db As DAO.Database

NomFichier = Dossier

Set db = CurrentDb()

Do While Len(NomFichier) > 0

Set devisdb = OpenDatabase("L:\TEMP\" & Adherent & "\" & NomFichier, , True)

devis_sql = "Select * from DevisLun"

Set devis_rs = devisdb.OpenRecordset(devis_sql)
While Not devis_rs
db.Execute "Insert into DEVISLUN (CENTRALE,COMPTE,MAGASIN,NUMDEV) VALUES ( '" & devis_rs("CENTRALE") & "' ,'" & devis_rs("COMPTE") & "','" & devis_rs("MAGASIN") & "','" & devis_rs("NUMDEV") & "')"

devis_rs.MoveNext


Wend

NbFichiers = NbFichiers + 1

Set devis_rs = Nothing

NomFichier = Dir()
Loop
End Sub