Bonjour!

Voici le contexte:
Depuis une procédure dans mon classeur Excel, j'appelle une procédure écrite dans Access. Code Excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub updateAccess()
'**** Method that calls method from Access to update table ****
 
    Dim acApp As Access.Application
    Set acApp = New Access.Application
    acApp.OpenCurrentDatabase ("K:\Database\SP7LOG01 Masterdata.accdb") 'open access database
    acApp.Run ("createNewTable")    'call Access method
    acApp.CloseCurrentDatabase  'close DB
    Set acApp = Nothing
 
    MsgBox "Database updated."
End Sub
Code Access :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Function createNewTable()
'**** Main function called by excel to update the table ****
 
    DoCmd.RunSavedImportExport ("New Import")   'import the new data
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE * FROM [SAP New] WHERE Material IS NULL"   'in case there are some empty records in the new table, we delete them
    DoCmd.SetWarnings True
    Call updateTable
    CurrentDb.Execute ("DROP TABLE [SAP New]")  'delete table with imported data
 
End Function
Les deux documents (Excel et Access) sont sur un réseau. Je m'y connais pas très bien en réseau, mais en gros, comme je pense dans toutes les entreprises, on a un réseau avec plus ou moins d'accès à certains documents. Les documents sont sur un ordi auquel j'ai accès grâce au réseau.

Et voici le problème:
Quand je teste la procédure Excel sur mon ordi, tout marche très bien! Par contre, un collègue a essayé sur son ordi (qui a accès au même réseau) et, il reçoit le message d'erreur suivant : "Erreur 40351. La méthode Run de Application a échoué" (traduction du néerlandais, alors je ne garantie pas que ce soit la formulation française exacte).
Auriez-vous une idée de pourquoi ce message d'erreur apparaît?

Ce que j'ai déjà testé:
  • Ajouter le nom du classeur avant le nom de la macro.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    acApp.Run ("'SP7LOG01 Masterdata.accdb'!createNewTable") 'au lieu de :
    acApp.Run ("createNewTable")
    Là, ça ne marche même plus chez moi J'ai un message d'erreur : "Microsoft Access ne trouve pas la procédure ...."
  • Faire un Sub plutôt qu'une Function dans Access. Pas de changement.


Merci d'avance pour votre aide !