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 Outlook Discussion :

Ouvrir fichier Excel via une macro dans Outlook


Sujet :

VBA Outlook

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut Ouvrir fichier Excel via une macro dans Outlook
    Bonjour,

    Je souhaiterais via une macro vba sous outlook, lorsque je recois un mail d'un destinataire spécifique, ouvrir le lancement d'un fichier excel et lancer la macro associé.

    J'ai donc créé une règle qui me lance mon script lorsque je reçois un mail dudit destinataire.
    Mon module contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      Dim appExcel As New Excel.Application    'Application Excel
      Dim wbExcel As Excel.Workbook    'Classeur Excel
      Dim wsExcel As Excel.Worksheet    'Feuille Excel
      Dim xlmacroBook As Excel.Workbook
     
      'Ouverture de l'application
      Set appExcel = Excel.Application
     
      appExcel.Visible = False
      'Ouverture d'un fichier Excel
        Set wbExcel = appExcel.Workbooks.Open("C:\projets\code OP.xlsx")
      'wsExcel correspond à la première feuille du fichier
        Set wsExcel = wbExcel.Worksheets(2)
    j'ai également essayé en remplacement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim appExcel As New Excel.Application 
    Set appExcel = Excel.Application
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim appExcel As Excel.Application 
    Set appExcel = CreateObject("Excel.Application")
    mais j'ai toujours le même message d'erreur:
    "Erreur d'exécution '429': Un composant ActiveX ne peut pas créer d'objet"
    le problème est présent sur la ligne
    Set appExcel = CreateObject("Excel.Application")
    ou
    Set appExcel = Excel.Application

    Je précise que j'ai coché dans référence:
    - Visual Basic For Applications
    - Microsoft Outlook 12.0 Object Librairy
    - OLE Automation
    - Microsoft Office 12.0 Object Library (besoin pour l'enregistrement de pièces jointes)
    - Microsoft CDO for Windows 2000 Library (besoin pour l'enregistrement de pièces jointes)
    - Microsoft CDO 1.21 LIbrary (besoin pour l'enregistrement de pièces jointes)
    - Microsoft Excel 12.0 Object Library (normalement utile pour ici)

    Si quelqu'un peut m'aider, je ne sais pas quoi faire pour lancer automatiquement mon fichier excel, juste l'ouvrir déjà serait pas mal.

    Merci beaucoup de votre aide,

  2. #2
    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
    Salut,
    Je pense que ton office est mal installé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    Euh ok mais c'est mon ordi de travail je n'ai aucun accès pour réinstaller le pack office. Il va donc falloir que je fasse avec.
    Je suis en train de regarder pour lancer un batch permettant d'ouvrir excel du coup, genre:
    proc = shelle (lance_excel...
    je bloque un peu je ne comprends pas forcément tout.
    Si tu as une idée la dessus je suis interessée

  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
    Salut,
    Essaye peut être comme cela pour réparer, cela ne demande pas forcèment de sources
    http://support.microsoft.com/kb/924614/fr

  5. #5
    Membre du Club Avatar de SCryptCypher
    Femme Profil pro
    MacGyver
    Inscrit en
    Novembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : MacGyver

    Informations forums :
    Inscription : Novembre 2013
    Messages : 35
    Points : 64
    Points
    64
    Par défaut
    As-tu essayé simplement comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      Dim appExcel As New Excel.Application    'Ouverture de l'Application Excel 
      Dim wbExcel As Excel.Workbook    'Classeur Excel
      Dim wsExcel As Excel.Worksheet    'Feuille Excel
      Dim xlmacroBook As Excel.Workbook
     
      appExcel.Visible = False
      'Ouverture d'un fichier Excel
        Set wbExcel = appExcel.Workbooks.Open("C:\projets\code OP.xlsx")
      'wsExcel correspond à la première feuille du fichier Set wsExcel = wbExcel.Worksheets(2)
    « Si c’est vert ou si ça remue, c’est de la biologie.
    Si ça pue, c’est de la chimie.
    Si ça ne fonctionne pas, c’est de la physique.
    Si ça occupe des tableaux entiers de formules, c’est des mathématiques.
    Si ça fait ce qu’on dit, mais pas ce qu’on veut, c’est de l’informatique. »

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    et en utilisant une liaison tardive ?

    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
     
     
        Dim xlApp As Object
        Dim xlWb As Object
        Dim xlSh As Object
     
        Set xlApp = CreateObject("Excel.Application")
     
        xlApp.Visible = True
        xlApp.workbooks.Open "chemin du classeur"
        On Error Resume Next
        xlApp.Activate
        On Error GoTo 0
     
        Set xlWb = xlApp.workbooks("nom du classeur")
     
     [...]

Discussions similaires

  1. Manipuler Excel via une macro dans Powerpoint
    Par mevzéro dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 14/08/2014, 08h37
  2. Réponses: 1
    Dernier message: 01/12/2012, 09h47
  3. ouvrir excel via une macro bo
    Par albane82 dans le forum SDK
    Réponses: 1
    Dernier message: 06/03/2009, 10h54
  4. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  5. Réponses: 2
    Dernier message: 04/06/2007, 15h39

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