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 :

Envoi en VBA d'un mail avec "From" paramétrable


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut Envoi en VBA d'un mail avec "From" paramétrable
    Bonjour,

    Je voudrais envoyer des mail à partir de Access 2010, j'arrive à paramétrer tout ce dont j'ai besoin (grâce aux Tutos : Merci) Mais je ne vois pas comment l'envoyer à partir d'une adresse mail choisie parmi mes différentes boites à lettres.
    Le seul paramètre que j'ai trouvé, semblant correspondre est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oMail.SenderEmailAddress = "toto@free.fr"
    mais il est en read only.

    Y a t-il une possibilité de faire ce paramétrage?

    Merci

  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
    essaye comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub envoi_au_nom_de()
        Dim objMail As Outlook.MailItem
        Set objMail = Outlook.Application.CreateItem(olMailItem)
        MsgBox objMail.subject
        objMail.SentOnBehalfOfName = "TOTO"
        objMail.Display
        'objMail.ResolveAll
    End Sub

    ou regarde l'autre possibilité

  3. #3
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut
    Merci Oliv- ça marche
    Je ferme la discussion
    JFD

  4. #4
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut Questions complémentaire
    1. J'ai essayé le code proposé

      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
      Sub SendUsingAccount()
      Set OutlookApp = CreateObject("Outlook.Application")
      Set Outlookmail = OutlookApp.CreateItem(0)
       
      Dim oAccount As Outlook.Account
      Set oAccount = Application.Session.Accounts("test@test.com")
      If oAccount Is Nothing Then MsgBox "Compte non trouvé": Exit Sub
       
      With Outlookmail
      .Subject = EmailSubject
      .SendUsingAccount oAccount
      .To = SendTo
      .cc = ccTo
      '.Body = EmailBody 'pour message text
      .HTMLBody = EmailBody 'pour message html
      '.Display
      .Send
      End Sub
      Mais je reçois un message :
      Nom : Sans titre-1.png
Affichages : 620
Taille : 32,3 Ko


    2. Connaître le compte d'où sera envoyé le publipostage

  5. #5
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut Désolé message non fini - appuyé sur envoyer au lieu de visualiser
    J'ai essayé le code proposé

    Sub SendUsingAccount()
    Set OutlookApp = CreateObject("Outlook.Application")
    Set Outlookmail = OutlookApp.CreateItem(0)

    Dim oAccount As Outlook.Account
    Set oAccount = Application.Session.Accounts("test@test.com")
    If oAccount Is Nothing Then MsgBox "Compte non trouvé": Exit Sub

    With Outlookmail
    .Subject = EmailSubject
    .SendUsingAccount oAccount
    .To = SendTo
    .cc = ccTo
    '.Body = EmailBody 'pour message text
    .HTMLBody = EmailBody 'pour message html
    '.Display
    .Send
    End Sub
    Mais je reçois un message :
    Pièce jointe 160747


    Connaître le compte d'où sera envoyé le publipostage
    Fin QUESTION 1 :Que faut-il faire pour que session ne provoque pas d'erreur ? aucune référence n'est "manquante"
    Je suis en Office 2010 sous Windows 7

    QUESTION 2:

    Je voudrai généraliser la procédure [Benvoi_au_nom_de()[/B] depuis différents ordinateurs, chacun ayant une adresse mail outlook par défaut différente.
    D'où la question: peut on connaitre le nom de la boite par défaut, pour ajouter ou pas l'option SentOnBehalfOfName

    Merci,
    JFD

  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
    Est-ce que tu lances ta macro à partir d'un autre programme que ol ?

    change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAccount = Application.Session.Accounts("test@test.com")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAccount = OutlookApp.Session.Accounts("test@test.com")

    Pour lister tes comptes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub_liste_des_comptes ()
    Dim oAccount As Outlook.Account
        Dim oAccounts As Outlook.Accounts
        Set oAccounts = Application.Session.Accounts
        For Each oAccount In oAccounts
        Debug.Print oAccount.displayName
        msgbox oAccount.displayName
     
        Next
     
     MsgBox "compte par défaut:" & oAccounts.Item(1).displayName & vbCr & oAccounts.Item(1).SmtpAddress
    end sub

  7. #7
    Membre régulier
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Juin 2010
    Messages : 136
    Points : 90
    Points
    90
    Par défaut
    Effectivement, je suis sous Access ==> Modification faite et ça marche.

    Mail par défaut parfait!

    Merci pour ces réponses efficaces et rapides
    JFD

    PS: ! j'ai modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub_liste_des_comptes ()
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub liste_des_comptes ()
    Et bien sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAccount = Application.Session.Accounts("test@test.com")
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAccount = OutlookApp.Session.Accounts("test@test.com")

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2016, 16h38
  2. envoie de mail avec un FROM spécial
    Par scoobiflo dans le forum Réseau
    Réponses: 4
    Dernier message: 17/07/2009, 08h58

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