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 :

Outlook et choix du compte pour envoi email [OL-365]


Sujet :

VBA Outlook

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut Outlook et choix du compte pour envoi email
    Bonjour

    Je suis en train de construire un code VBA pour pouvoir envoyer une série d'emails avec des pièces jointes.

    Cependant je rencontre une problématique: sur mon Outlook j'ai plusieurs comptes utilisateurs et mon code pour le moment envoi avec le compte par defaut.

    Sur ma form, je souhaiterai donc mettre une combobox qui listerait tous les comptes outlook du PC et ainsi choisir le compte à utiliser pour envoyer ces emails... mais je ne sais pas comment faire

    ps: je veux que ce code soit utilisable sur d'autres PC et donc je ne peux pas encoder en dur les différents comptes mails.

    Un peu d'aide serait grandement appréciée

    Merci

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Bonjour,

    Voici une piste à étudier et une autre.

    Edit :
    Je n'ai pas bien lu ton problème...

    Essaie d'utiliser ce code pour déjà tester et voir ce que cela te retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ListerAdresses()
    Dim i As Integer
     
    For i = 1 To Outlook.Application.Session.Accounts.Count
        Debug.Print Outlook.Application.Session.Accounts.Item(i)
    Next i
    End Sub

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut
    Hello

    J'ai réussi à remplir ma combobox à partir de ton exemple en utilisant ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim ol As Outlook.Application
       Dim ac As Outlook.Account
       Set ol = New Outlook.Application
         For Each ac In ol.Session.Accounts
            .cmbOutlookAccount.AddItem (ac)
        Next ac
    Maintenant il faut que je trouve comment utiliser le compte sélectionné dans la combobox pour faire mon envoi d'emailing.... pas gagné

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut
    Je m'attaque à la suite de mon problème.

    Maintenant que j'ai récupérer les comptes mail, je souhaiterai envoyer un email avec une pièce jointe. C'est faisable en vba?

    Je pensais partir sur un truc du genre:

    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
     
    ' recup  des comptes outlook
       Dim ol As Outlook.Application
       Dim ac As Outlook.Account
       Set ol = New Outlook.Application
         For Each ac In ol.Session.Accounts
            .cmbOutlookAccount.AddItem (ac)
        Next ac
     
    Dim mi as Outlook.MailItem
     
    mi.subject = "blalalal"
    mi.to= "ddddd"
    mi.body="dsfsdfsd"
    mi.SendUsingAccount = cmbOutlookAccount.value

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268

  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
    Bonjour un exemple :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Private Sub ExempleNewMail()    'modèle baba
    '---------------------------------------------------------------------------------------
    ' Procedure : ExempleNewMail
    ' Author    : Oliv
    ' Date      : 28/09/2018
    ' Purpose   :
    '---------------------------------------------------------------------------------------
    '
     
        Dim OL As Outlook.Application
        If UCase(Application) = "OUTLOOK" Then
            Set OL = Application
        Else
            Set OL = CreateObject("outlook.application")
        End If
        Dim Message As Outlook.MailItem
        Dim objRecipient As Outlook.Recipient
     
        Set Message = OL.CreateItem(olMailItem)
        With Message
            .Subject = "Mon Objet"
     
            'Soit on ajoute un Corps en TEXTE BRUT
            .BodyFormat = olFormatPlain
            .Body = "Voici le coprs du Mail" & vbCr & " A la ligne"
     
            'Soit on ajoute un Corps en HTML
            .BodyFormat = olFormatHTML
            .HTMLBody = "<html><body> <font face=""arial""><p>Bonjour,</p><p>Ceci est un exemple de Message HTML</p><p>Il faut utiliser des balises HTML pour formater le texte.</p><p>En <strong>gras</strong>, <em>Italic</em>, <u>Souligné</u></p><BR><p>Je suis passé à la ligne</p><p>Voici un lien hypertexte.</p>" & _
                        "<a href=""mailto:Joe.User@MyCompany.com"">Joe User</a></font></body></html>"
     
            'Ajout d'un destinataire principal
            Set objRecipient = .Recipients.add("toto@toto.com")
            objRecipient.Type = olTo    'olBCC, olCC, olOriginator ou olTo.
            objRecipient.Resolve
     
            'Ajout d'un destinataire en copie
            Set objRecipient = .Recipients.add("titi@toto.com")
            objRecipient.Type = olCC    'olBCC, olCC, olOriginator ou olTo.
            objRecipient.Resolve
            '
            'Ajout d 'une PJ
            Dim MaPJ
            MaPJ = "c:\temp\monPDF.PDF"
            'on verifie d'abord qu'elle existe.
            If DIR(MaPJ) <> "" Then
                .Attachments.add MaPJ
            End If
     
            'ajout ar lecture
            .ReadReceiptRequested = True
     
            'Soit je l'affiche
            .Display
            'Soit je l'envoi
            '.Send
        End With
    End Sub


    Il y a aussi la fonction envoyé au nom de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub envoi_au_nom_de()
        Dim objmail As Outlook.MailItem
        Set objmail = Outlook.Application.CreateItem(olMailItem)
        MsgBox objmail.Subject
        objmail.SentOnBehalfOfName = "NIcolas DUPONT"
        objmail.Display
        objMail.Recipients.ResolveAll
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/01/2013, 10h44
  2. OUTLOOK choix account pour envoi mail
    Par Arnaokee dans le forum C#
    Réponses: 0
    Dernier message: 23/07/2010, 11h00
  3. selection compte pour envoi mail
    Par romy64000 dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 27/01/2010, 14h10
  4. Réponses: 2
    Dernier message: 25/02/2008, 14h33
  5. Création de comptes pour envoi de newsletter
    Par Skullbox dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/08/2005, 11h30

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