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

Macros et VBA Excel Discussion :

Excel appelle Outlook : perdu !


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Excel appelle Outlook : perdu !
    Bonjour
    A partir d'un programme VBA Excel, je cherche à envoyer un mail via Outlook. Ce que j'ai écrit marche jusqu'au moment de l'envoi par .send où un message d'erreur apparaît :
    "Erreur d'exécution 287 - Erreur définie par l'application ou par l'objet".
    A noter que si j'ouvre Outlook avant d'utiliser mon programme Excel, je n'ai pas d'erreur et le mail part comme prévu
    Voici mon programme car je séche :

    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
    Option Explicit
     
    Public OutlookApp As Outlook.Application
    Public MItem As Outlook.MailItem
    Dim Adress As String
    Dim Repres As String
    Dim Civilite As String
    Dim Module As String
    Dim Msg As String
     
    Sub Mail1()
     
        'Récupérer les données de la feuille Mail
        RecupDonnees
     
        'Composer le message
        Msg = "Bonjour " & Civilite & " " & Repres & vbCrLf & vbCrLf
        Msg = Msg & "A la suite de notre contact téléphonique, vous trouverez en piéces jointes les modalités d'inscription à notre module de formation," & vbCrLf
        Msg = Msg & "Dans l'attente de votre confirmation, veuillez recevoir mes salutations distinguées." & vbCrLf & vbCrLf
     
        'Créer le mail et le transmettre
        SendMail
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub RecupDonnees()
     
        'Créer l'objet Outlook
        Set OutlookApp = New Outlook.Application
     
        'Obtenir les données
        Worksheets("Mail").Activate
        Adress = Range("B1").Value
        Objet = Range("B2").Value
        Repres = Range("B3").Value
        Civilite = Range("B4").Value
        Module = Range("B5").Value
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub SendMail()
     
        'Créer le contenu du mail et le transmettre
        Set MItem = OutlookApp.CreateItem(olMailItem)
        With MItem
            .To = Adress
            .Subject = Objet
            .Body = Msg
            .Send    'c'est ici que cela bloque !!
        End With
     
    End Sub
    Nota : les données sont dans une feuille Excel intitulée "Mail"

    Voilà, une idée salvatrice serait trés appréciée.
    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Es-tu certain que les informations utiles Adress Objet Msg sont accessibles dans Sendmail elles n'ont pas l'air d'être publiques

    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Salut PPz78
    Elles sont dans le même module que sendmail donc je pense qu'elles n'ont pas besoin d'être public.
    En plus cela marche si Outlook est ouvert donc cela n'est pas en lien avec les déclarations de ces variables.
    Enfin, je crois ?

  4. #4
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour dlbminot,

    ce que je remarque,

    tu as mit Option Explicit en début de programme et la variable "Objet"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Objet = Range("B2").Value
    n'est pas définie, et aussi ce n'est pas une bonne idée d'utiliser un mot excel en variable.
    aussi tu ne mentionnes pas avoir mit la référence à la bibliothèque Outlook.
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Bonsoir sabzzz
    La variable Objet est définie mais j'ai mal fait mon copier-coller (si elle avait été non définie, je pense qu'un message me l'indiquant aurait pointé dés la compilation du programme)
    Pour l'utilisation du nom Excel, tu as raison mais il ne s'y arrête pas lors de l'exécution du programme, de plus si Outlook est ouvert cela marche
    Enfin la référence à la bibliothéque Outlook est bien cochée
    Je vérifie néanmoins le nom Objet au cas où !
    Merci sabzzz

Discussions similaires

  1. [OL-2007] Appel à Outlook dans vba Excel
    Par Bak30 dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 29/01/2014, 18h08
  2. [VBA]Envoyer un fichier excel avec OutLook
    Par Sunchaser dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2006, 16h24
  3. [VBA][Excel] appel de fonction
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/12/2005, 10h53
  4. Importer des données excel vers outlook
    Par faayy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/10/2005, 09h30
  5. VBA Excel : Appel d'un userform à l'aide d'une variable
    Par pierrot657 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/06/2005, 23h08

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