contrôle access-excel

F

FRP

Guest
Bonsoir,
Je travaille des fichiers assez volumineux (25000 lignes, 6 à 50 rubriques) avec excel et access 2000.

Actuellement ,
- je récupère et mets en forme mes données depuis excel, plus ergonomique qu'access pour ce faire à mon niveau de connaissance,

- puis lance "manuellement" une macro d'une application access qui utilise des feuilles excel comme sources liées et constitue un fichier avec une suite de requêtes un peu torturées,

- pour revenir enfin sur excel exploiter le fichier ainsi constitué.

Je souhaiterais connaître une procédure
- permettant de lancer access depuis excel (idéalement à partir d'un bouton et d'une macro VBA qui appelle le fichier mdb ou mieux directement la macro access)
- puis de revenir sur excel.


Merci des pistes... simples pour un béotien de VBA.

Bien cordiales salutations

FRP
 
K

K@d

Guest
Bonjour,

le code suivant devrait te permettre d'avancer dans le travail souhaité.
Je reste disponible pour plus d'informations !
Bon courage...

Clément

"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème."
-----------------------------------------------------------------------------

Sub Lancer_Access()

' VARIABLES
Dim AppAccess As Object ''' l'application Access (objet)
Dim StrBaseAcc As String ''' la base Access
Dim StrMacro As String ''' la macro Access à éxécuter (si besoin)

On Error GoTo ErrorInSub

'Définition des valeurs Access
StrBaseAcc = Range("Base_Access").Value
StrMacro = Range("Macro_Access").Value

' On gère une instance d'Access
Set AppAccess = CreateObject("Access.Application")

' On ouvre la base de données Access
AppAccess.OpenCurrentDatabase StrBaseAcc, False

'on définit si la base est visible ou non
AppAccess.Application.Visible = True / False

' Et on éxécute la macro (si besoin)
AppAccess.Run StrMacro

'on quitte Access
AppAccess.Application.Quit
Set AppAccess = Nothing

Exit Function

' GESTION DE L'ERREUR

ErrorInSub:

MsgBox "Une erreur a été rencontrée lors de l'éxécution de la macro Access depuis Excel. Vérifiez le code source SVP.", vbCritical, "Erreur VBA"
Set AppAccess = Nothing

Exit Function

End Function
 

Statistiques des forums

Discussions
313 095
Messages
2 095 216
Membres
106 223
dernier inscrit
gel