IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Ouvrir fichier Excel et lancer Macro - Environnement


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut Ouvrir fichier Excel et lancer Macro - Environnement
    Bonjour le forum,

    Un petit souci d'environnement, je ne sais pas ou poster. Donc je le mets ici.

    A partir d'Access, j'ouvre un fichier Excel "xlam"
    Puis je lance une macro qui est dans ce fichier. #.run mamacro#
    La macro se lance, mais cette macro fait appel à des fonctions de mon environnement Excel.
    Et c'est là que ca coince.... la macro ne trouve plus les fonctions...

    Quand j'ouvre mon fichier excel, normalement, Ctrl-F11, il y a mes macros du ruban et environnement.
    Quand j'ouvre le même fichier excel avec Access, elles ne sont plus là...

    Grand mystere et boule de gomme.

    Quelqu'un a une idée ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    Salut,

    quel est le code VBA en question stp ?

    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2016
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2016
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Bonjour jean-philippe,

    Voici le code qui posait problème.
    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
    32
    33
    34
    35
    36
    37
    38
    Public Sub modifxml()
     
    Dim strSQL      As String
    Dim xlApp       As Excel.Application
    Dim lafacture   As Long
     
    On Error GoTo erreurhand
    lafacture = InputBox("Le numéro de la facture")
     
    'Update a 0 AccountinginterfaceInd permet de toucher à la facture
    strSQL = "UPDATE dbo_tblInvoice SET dbo_tblInvoice.AccountingInterfaceInd"
    strSQL = strSQL & " =0"
    strSQL = strSQL & " WHERE dbo_tblInvoice.InvoiceNo=%1 "
    strSQL = Replace(strSQL, "%1", lafacture)
    'Debug.Print strSQL
    CurrentDb.Execute (strSQL)
     
    'on ouvre Excel
    Set xlApp = New Excel.Application
    With xlApp
        .AddIns("MEGAInvoicing").Installed = True  '<========= Ceci est le fameux AddIns qui ne s'affiche plus
        .Workbooks.Open ("M:\Document\facture\CreateXML.xlsm")
        .Range("J2").Value = lafacture
        .Visible = True
        .Application.Run "createXML" ' la macro de mon fichier excel
        .Workbooks(1).Close (False)
        .Quit
    End With
     
    Set xlApp = Nothing
     
    Exit Sub
     
    erreurhand:
        MsgBox "Hahaha, il y a une erreur", vbCritical
    Set xlApp = Nothing
     
    End Sub
    Et voici ce que j'ai fait, pas très orthodoxe, mais ca semble fonctionner.
    Je désactive L'addIns et le réactive ... Un grand mystère
    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
    32
    33
    34
    35
    36
    37
    38
    39
    Public Sub modifxml()
     
    Dim strSQL      As String
    Dim xlApp       As Excel.Application
    Dim lafacture   As Long
     
    On Error GoTo erreurhand
    lafacture = InputBox("Le numéro de la facture")
     
    'Update a 0 AccountinginterfaceInd permet de toucher à la facture
    strSQL = "UPDATE dbo_tblInvoice SET dbo_tblInvoice.AccountingInterfaceInd"
    strSQL = strSQL & " =0"
    strSQL = strSQL & " WHERE dbo_tblInvoice.InvoiceNo=%1 "
    strSQL = Replace(strSQL, "%1", lafacture)
    'Debug.Print strSQL
    CurrentDb.Execute (strSQL)
     
    'on ouvre Excel
    Set xlApp = New Excel.Application
    With xlApp
        .AddIns("MEGAInvoicing").Installed = False '<=========
        .AddIns("MEGAInvoicing").Installed = True  '<========= Ceci est le fameux AddIns qui ne s'affiche plus
        .Workbooks.Open ("M:\Document\facture\CreateXML.xlsm")
        .Range("J2").Value = lafacture
        .Visible = True
        .Application.Run "createXML" ' la macro de mon fichier excel
        .Workbooks(1).Close (False)
        .Quit
    End With
     
    Set xlApp = Nothing
     
    Exit Sub
     
    erreurhand:
        MsgBox "Hahaha, il y a une erreur", vbCritical
    Set xlApp = Nothing
     
    End Sub

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2016, 11h55
  2. [OL-2007] Ouvrir fichier Excel via une macro dans Outlook
    Par pepsister dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 30/07/2014, 16h41
  3. ouvrir fichier Excel dans page HTML : macro ne fonctionne pas
    Par bella1 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 30/06/2011, 09h50
  4. Réponses: 2
    Dernier message: 19/03/2008, 20h34
  5. Ouvrir fichier Excel avec macro
    Par zephirsoul dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2007, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo