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

Outlook Discussion :

Pour ouvrir Excel et exécuter une macro Excel depuis outlook


Sujet :

Outlook

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Pour ouvrir Excel et exécuter une macro Excel depuis outlook
    Bonjour,
    Dans les F.A.Q outlook on trouve l'article:

    Pour ouvrir un fichier Excel et exécuter une macro d'un autre fichier Excel, copiez ce code dans un nouveau Module :

    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
    Sub PilotageExcel ()
    'Déclaration des variables
            Dim appExcel As Excel.Application    'Application Excel
            Dim wbExcel As Excel.Workbook    'Classeur Excel
            Dim wsExcel As Excel.Worksheet    'Feuille Excel
            Dim xlmacroBook As Excel.Workbook
            Dim MavarXL
     
            'Ouverture de l'application
            Set appExcel = CreateObject("Excel.Application")
            appExcel.Visible = False
            'Ouverture d'un fichier Excel
            Set wbExcel = appExcel.Workbooks.Open(Repertoire & "monfichier.xls")
            'wsExcel correspond à la première feuille du fichier
            Set wsExcel = wbExcel.Worksheets(1)
    'ici la macro est dans un fichier différent
            Set xlmacroBook = appExcel.Workbooks.Open("\c:\temp\MonfichierMACRO.xls", 0, 1)
    'je lance la macro ouverture avec un paramétre
              MavarXL = appExcel.Run(xlmacroBook.Name & "!ouverture", Left(CStr(ObjCurrentMessage.ReceivedTime), 10))
    End Sub
    Cependant en le compilant, une fenêtre d'erreur s'ouvre:

    Erreur de compilation
    Type défini par l'utilisateur non défini

    et la ligne "appExcel As Excel.Application" est surlignée

    De plus, la macro que je dois déclencher va elle même chercher les fichiers dont elle a besoin, et se trouve dans le classeur perso.
    merci d'avance!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Bonsoir un peu par hasard sur ce forum mais peut être as tu trouvé
    sinon dans visual basic outil puis référence puis cocher la référence Microsoft Excel 11.0 Object library (pour 2003)

    et après ça doit marcher
    Denis

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Erreur sur ce code depuis outlook
    Bonjour,

    Je m'accroche à ce vieux sujet car c'est celui qui s'approche le plus de ce que je cherche et je n'arrive pas à le faire fonctionner.
    Je cherche à utiliser ce code depuis une macro outlook pour exécuter une function contenue dans un fichier excel situé sur le réseau (mais j'ai le même problème en local).
    la function est dans le code de la Feuil. J'ai deux problèmes :

    premier problème : lors de l’exécution de : Set appExcel = CreateObject("Excel.Application") une fenêtre d'aide s'ouvre et reste ouverte, je peux la fermer, pas très agréable mais je peux faire avec!

    le classeur s'ouvre bien, je l'ai mis en visible le temps du débogage, j'arrive à intervenir pour activer une feuille ou l'autre mais pas à exécuter le code de ma function c'est mon deuxième problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MavarXL = appExcel.Run(xlmacroBook.Name & "!ouverture", Left(CStr(ObjCurrentMessage.ReceivedTime), 10))
    me crée l'erreur 438. J'ai adapté à mon cas notamment "!ouverture" .

    J'ai déjà passé pas mal de temps, et fait pas mal de recherche mais là je suis vraiment coincé .

    Quelqu'un pourrait-il m'aider, svp???

    à bientôt j'espère

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Dans excel ta macro s'appelle bien ouverture ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour, et merci de vous intéresser à mon sujet

    Oui pour faire des essais j'ai gardé les mêmes noms. Le fichier s'ouvre correctement dans excel mais lors de l'execution de la fonction appExcel.Run j'ai une erreur'438'
    Avez-vous une idée?
    Merci

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    quelle version ?
    DAns quel module se trouve la macro OUVERTURE ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Re-bonjour,

    Outlook et excel en V14
    ouverture est dans 'Feuil1'

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Déplace tes macros dans un module

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Je viens d'essayer et j'ai toujours la même erreur.
    Dans outlook j'ai mis dans Module1:
    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
     
    Sub PilotageExcel()
    'Déclaration des variables
            Dim appExcel As Excel.Application    'Application Excel
            Dim wbExcel As Excel.Workbook    'Classeur Excel
            Dim wsExcel As Excel.Worksheet    'Feuille Excel
            Dim xlmacroBook As Excel.Workbook
            Dim MavarXL
            Dim Resultat() As String
     
            'Ouverture de l'application
            Set appExcel = CreateObject("Excel.Application")
            appExcel.Visible = True 'False
            'Ouverture d'un fichier Excel
            Set wbExcel = appExcel.Workbooks.Open("D:essai.xlsm", 0, 1)
            'wsExcel correspond à la première feuille du fichier
            Set wsExcel = wbExcel.Worksheets(1)
            wsExcel.Activate
    'ici la macro est dans un fichier différent
           ' Set xlmacroBook = appExcel.Workbooks.Open("\c:\temp\MonfichierMACRO.xls", 0, 1)
    'je lance la macro ouverture avec un paramétre
            MavarXL = appExcel.Run(wbExcel & "!ouverture")
    End Sub
    Et dans excel dans le module2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Sub ouverture()
        MsgBox "Hello"
        ouverture = "bravo"
    End Sub
    toujours la même erreur.
    Pour info lors de l'enregistrement de ma feuille excel j'ai un message "avertissement concernant la confidentialité:..."
    encore merci de prendre du temps pour ça!!

  10. #10
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Essaye comme cela

    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
     
    Sub PilotageExcel()
    'Déclaration des variables
            Dim appExcel As Excel.Application    'Application Excel
            Dim wbExcel As Excel.Workbook    'Classeur Excel
            Dim wsExcel As Excel.Worksheet    'Feuille Excel
            Dim xlmacroBook As Excel.Workbook
            Dim MavarXL
            Dim Resultat() As String
     
            'Ouverture de l'application
            Set appExcel = CreateObject("Excel.Application")
            appExcel.Visible = True 'False
            'Ouverture d'un fichier Excel
            Set wbExcel = appExcel.Workbooks.Open("D:essai.xlsm", 0, 1)
            'wsExcel correspond à la première feuille du fichier
            Set wsExcel = wbExcel.Worksheets(1)
            wsExcel.Activate
    'ici la macro est dans un fichier différent
           ' Set xlmacroBook = appExcel.Workbooks.Open("\c:\temp\MonfichierMACRO.xls", 0, 1)
    'je lance la macro ouverture avec un paramétre
            MavarXL = appExcel.Run(wbExcel.Name & "!ouverture")
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Function ouverture()
        MsgBox "Hello"
        ouverture = "bravo"
    End Function

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bravo, ça marche!
    un grand merci, je mets dans mes favoris votre blog

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/03/2015, 21h18
  2. [AC-2003] Exécuter une macro Excel depuis du code VBA
    Par denisw95 dans le forum VBA Access
    Réponses: 12
    Dernier message: 03/12/2009, 15h59
  3. exécuter une macro excel sous access
    Par smix13 dans le forum VBA Access
    Réponses: 10
    Dernier message: 03/02/2009, 08h51
  4. Réponses: 4
    Dernier message: 17/07/2008, 13h40
  5. outre passer excel et quand même exécuter une macro excel : possible en VB ?
    Par chapeau_melon dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 08/11/2006, 20h59

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