Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/06/2011, 23h30   #1
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 304
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 304
Points : 18
Points : 18
Par défaut lancer une macro excel depuis access est ce possible ?

Bonjour,

J'ai une macro excel qui fonctionne bien, j'aimerai savoir s'il est possible de la lancer depuis access.

Merci pour votre aide
Debutant10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 23h51   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
Bonsoir,

Code :
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
Function LanceExcel() As Boolean
'---------------------------------------------------------------------------------------
' Procedure : LanceExcel
' Auteur    : Dolphy35
' Détail    : Lance le fichier Excel pour traitement
'---------------------------------------------------------------------------------------
'
' déclaration des variables
    Dim xlExcel As Excel.Application
    Dim xlClasseur As Excel.Workbook
    ' initialisation de la foncion
    LanceExcel = False
    ' instances
    Set xlExcel = CreateObject("Excel.Application")
    Set xlClasseur = xlExcel.Workbooks.Open(CurrentProject.Path & "\Fichier.xlsm")
    ' test le retour de la function Lancement du Fichier Excel
    If xlClasseur.Application.Run("Lancement", True) = False Then
        ' retour de la fonction
        LanceExcel = False
    End If
    ' raz mémoire et sortie
    xlClasseur.Close True: Set xlClasseur = Nothing
    xlExcel.Quit: Set xlExcel = Nothing
    ' retour de la fonction
    LanceExcel = True
End Function
Le nom de la fonction dans le fichier Excel est Lancement et je récupère le retour de la fonction (Type Bool)

Il faut cocher la référence : Microsoft XX.X Object Library

@+

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/06/2011, 21h02   #3
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 304
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 304
Points : 18
Points : 18
Bonjour

Voici ma macro excel que je voudrais commander depuis access, cette macro permet de remplacer la 1 ère ligne d'un fichier excel et cela fonctionne bien mais le pb je dois toujours ouvrir le fichier excel pour faire fonctionner cette macro.

Comment insérer cette dernière dans access module je supose ? pour faire fonctionner tout cela, merci pour votre aide

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Remplacer()
 
Dim exc As New Excel.Application
exc.Workbooks.Open ("E:\variables.xls")
 
Dim col As Integer
col = 1
Do While (col < 45)
Cells(1, col).Value = exc.Cells(1, col).Value
col = col + 1
Loop
 
exc.Workbooks.Close
exc.Quit
Set exc = Nothing
 
MsgBox "Fini"
 
End Sub
[/QUOTE][/QUOTE]
Debutant10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 21h35   #4
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
Salut,

Si cette macro est présente dans le fichier Excel et tu dois exécuter celle-ci dans le même fichier il suffit d'utiliser mon code et de mettre le nom de ta macro en lieu et place de "Lancement". ainsi que le chemin.

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h03.


 
 
 
 
Partenaires

Hébergement Web