Bonjour,
J'ai dévéloppé une application qui fonctionne parfaitement sur un poste sur lequel access est installé. C'est une macro VBA, et je pilote une base access depuis la macro excel. La base de donnée access contient des macros que j'appelle dans la macro excel. Par contre ça ne fonctionne pas en runtime, j'aimerai le faire fonctionner sur un poste sur lequel access n'est pas installé, car les utilisateurs de l'application n'ont pas access.
Voici la procedure pour creer mon environement runtime :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Sub OpenRunTime()
Dim accpath As String, dbpath As String
On Error Resume Next
dbpath = [Path_Calcul] & "\" & [File_BaseDeDonnees] '"C:\USERS\IFD\4- Template\Rappro Deal IFD_v 1.0.mdb"
Set AccessApp = GetObject(dbpath)
If Err <> 0 Then
If Dir(dbpath) = "" Then 'dbpath is not valid
MsgBox "Impossible de trouver la base de données."
Exit Sub
Else
accpath = "C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE"
If Dir(accpath) = "" Then
MsgBox "Impossible de trouver Microsoft Access."
Exit Sub
Else
Shell pathname:=accpath & " " & Chr(34) & dbpath & Chr(34), _
windowstyle:=6
Do
Err = 0
Set AccessApp = GetObject(dbpath)
Loop While Err <> 0
End If
End If
End If |
Tout fonctionne jusqu'ici :
mais dès que je fais :
Call AccessApp.Run("NettoyageIDO")
ou NettoyageIDO est une macro dans la base access j'ai une error automation 440, mais ça fonctionne sur un poste ou il ya access.
merci par avance.
Partager