Déterminer l'expéditeur

Bonjour a tous

j'ai crée une macro pour générer un mail en fonction des d'informations inscrites dans le fichier.

le souci c'est que je gère plusieurs boites et je souhaite déterminer dans le code VBA quelle est l'adresse de la boite qui doit expédier

j'ai bien trouvé le code ci dessous mais je ne doit pas l'intégrer correctement car j'ai une erreur "type définie par l’utilisateur non défini "

Dim CompteOutlook As Account
For Each CompteOutlook In oOutlook.Session.Accounts
  If CompteOutlook.SmtpAddress = "MonNom@mon-email.fr" Then ' <-- modifiez l'adresse
    .SendUsingAccount = CompteOutlook
    Exit For
  End If
Next CompteOutlook

pouvez vous m'aider

merci

bonjour,

si tu n'as pas coché la référence à librairie outlook dans VBA (le type Account n'est pas connu), essaie ainsi

Dim CompteOutlook As Object
For Each CompteOutlook In oOutlook.Session.Accounts
  If CompteOutlook.SmtpAddress = "MonNom@mon-email.fr" Then ' <-- modifiez l'adresse
    .SendUsingAccount = CompteOutlook
    Exit For
  End If
Next CompteOutlook

merci de ton aide

je n'ai plus de message d'erreur mais ca ne met pas l'adresse que j'indique dans le code VBA, ca laisse l'adresse de ma boite par défaut

bonjour,

peut-être que tu ne fais les choses dans le bon ordre.

  1. ouvrir une session outlook
  2. choisir le compte
  3. créer le mail.

Bah non en fait , l’idée c’est d’automatiser tout ça, c’est de ne pas se tromper de boîte d’envoi c’est pour ça que lorsque je sélectionne le bouton "mail" le mail doit s’ouvrir avec la bonne boîte D’expédition.

Bonsoir,

Je parlais de l’ordre dans lequel la macro devait faire les différentes étapes.

Bonsoir le fil,

Mipec, voici la solution toute simple

Piste que je t'avais donné ici https://docs.microsoft.com/fr-fr/office/vba/api/outlook.mailitem.sentonbehalfofname
puis après je me suis égaré

Private Sub EnvoiMail()
  Dim OutApp As Object
  Dim OutMail As Object
  Dim MailBody As String
  Dim Ind As Integer

  ' Créer une instance Outlook
  Set OutApp = CreateObject("Outlook.Application")
  ' Créer un nouveau mail
  Set OutMail = OutApp.CreateItem(0)
  ' Définir l'adresse de l'expéditeur
  OutMail.SentOnBehalfOfName = "nom@domaine.com"

  MailBody = "Bonjour," & vbNewLine & vbNewLine & _
    "Nous vous informons de la fermeture de l'Agence le xxxxxxxx. " & vbNewLine & _
    "Les agences xxxxxxxxxxxxxxxxxxxxxxxxxxxsont ouvertes et accueillent nos clients aux horaires habituels." & vbNewLine & _
    "Bien cordialement," & vbNewLine & _
    "xxxxxxxx"

  With OutMail
    .Display
    .To = "adresse@mail.fr"
    .CC = "adresse@mail.fr"
    .BCC = ""
    .Subject = "Fermeture agence "
    .Body = MailBody
  End With
  On Error GoTo 0
  Set OutMail = Nothing
  Set OutApp = Nothing
End Sub

A+

Rechercher des sujets similaires à "determiner expediteur"