Bonjour,

Après différentes recherches, j'ai trouvé les instruction VBA pour exporter des objets d'une base source dans une base destination.
Mais pour l'instant je n'ai réussi à faire fonctionner cette procédure que si je la lance dans une troisième base.

Voici mon code :
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
26
27
28
29
30
31
Private Sub CmdImport_Click()
Dim nomdest As String, nomsrce  As String
    nomdest = "C:\Développement\Test Transfert\BL Iris.mdb"
    nomsrce = "C:\Développement\Test Transfert\BD-Maj.mdb"
    Call fExportAllObject(nomsrce, nomdest)
End Sub
Function fExportAllObject(strDataBaseS As String, strDataBaseD As String)
    Dim Dbs As Database
    Dim cnt As Container
    Dim doc As Document
 
    Set Dbs = OpenDatabase(strDataBaseS)
 
    'Exporte les formulaires
    Set cnt = Dbs.Containers("Forms")
    For Each doc In cnt.Documents
    DoCmd.TransferDatabase acExport, "Microsoft Access", _
    strDataBaseD, acForm, doc.Name, doc.Name, False, True
    Next
 
    'Exporte les états
    Set cnt = Dbs.Containers("Reports")
    For Each doc In cnt.Documents
    DoCmd.TransferDatabase acExport, "Microsoft Access", _
    strDataBaseD, acReport, doc.Name, doc.Name, False, True
    Next
 
    Dbs.Close: Set Dbs = Nothing
    Set cnt = Nothing
 
End Function
Je souhaiterais pouvoir exécuter la procédure d'exportation directement dans la base origine, mais je n'ai pas trouvé la solution, alors que dans le cas d'une importation d'objets, la procédure peut être exécutée depuis la base destination sans problème.

Pouvez-vous m'indiquer comment modifier mon code pour pouvoir exécuter la procédure d'exportation dans la base source. Si toutefois VBA le permet !!!