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

  1. #1
    Candidat au Club
    Femme Profil pro
    agent de métrise
    Inscrit en
    novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : agent de métrise
    Secteur : Transports

    Informations forums :
    Inscription : novembre 2020
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Création d'un mail avec plusieurs images dans le corps VBA
    Hello,

    Voilà je suis novice dans les VBA j'ai besoin d'aide pour le codage svp.
    Je souhaiterais créé un mail en VBA avec un corps et dans ce corps intégrer des images de graphiques différents qui se trouvent dans des feuilles excel différentes aussi.
    Pour le mail ca va j'arrive même à créé une 1er partie mais je n'arrive pas à continuer je voudrais remettre du texte et une image et du texte et une image ...
    Je pense pas que ma façon d'écrire le code fonctionne c'est pour cela que j'ai besoin de vous.
    Voici mon code:

    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
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
    Dim rng As Range
    Dim Date_Sending As String
    Dim OutApp As Object
    Dim OutMail As Object
    Dim adresses_mail As String
    Dim mail_CC As String
    Dim MyChart As Chart
     
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
     
    With Sheets("Resaon Return DNC1")
        adresses_mail = .Range("A18").Value
        Date_Sending = Format(.Range("B18"), "dd mmmm yyyy")
     
    End With
     
    Set MyChart = Sheets("Resaon Return DNC1").ChartObjects(1).Chart
    MyChart.Export Filename:=Environ("Temp") & "\graph1.jpg", filtername:="JPG"
    Set MyChart = Sheets("Reason Return DSP").ChartObjects(2).Chart
    MyChart.Export Filename:=Environ("Temp") & "\graph2.jpg", filtername:="JPG"
     
    Set ColAttach = OutMail.Attachments
    Set oAttach = ColAttach.Add(Environ("Temp") & "\graph1.jpg")
     
    text1 = "Hello," & Chr(12) & Chr(12) & _
            "Voici le Dive Deep performance du jour:" & Chr(12) & Chr(12) & _
            "1. Poduim FDDS" & Chr(12)
             Chr (12) & Chr(12)
     
    text2 = "2.Reason RTS" & Chr(12)
     
    text3 = "3. RTS/DSP"
     
     
    With OutMail
    .To = adresses_mail
    .Subject = "Performance FDDS du " & Date_Sending
    .HTMLBody = "<BODY><FONT face=Arial color=#000080 size=2></FONT>" & text1 & text2 & _
                "<br><br><IMG src=cid:graph1.jpg></BODY>"   'Nom de l'image sans chemin
                "<BODY><FONT face=Arial color=#000080 size=2></FONT>" & text3 & _
                "<br><br><IMG src=cid:graph2.jpg></BODY>"
     
     
    .Display
    End With
     
    Kill Environ("Temp") & "\graph1.jpg"
    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub
    Merci beaucoup d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    mars 2006
    Messages
    4 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : mars 2006
    Messages : 4 081
    Points : 7 033
    Points
    7 033
    Billets dans le blog
    20
    Par défaut
    Bonsoir,

    Dans ton code il te manque un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAttach = ColAttach.Add(Environ("Temp") & "\graph2.jpg")
    pour ajouter la seconde image.


    ensuite si tu veux qu'elles soient bien qualifiés et qu'elle ne soient pas dans les PJ mais juste dans le htmlbody il faut changer leur propriétés.

    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
    Sub NewMessage_With_Embedded_Dmitry()
        Dim olApp As Outlook.Application
        If Application.Name = "Outlook" Then
            Set olApp = Application
        Else
            Set olApp = CreateObject("outlook.application")
        End If
        Set NS = olApp.Session
     
        Set objOutlookMsg = olApp.CreateItem(olMailItem)
     
        Set objOutlookRecip = objOutlookMsg.Recipients.add("test@toto.com")
        objOutlookRecip.Type = olTo
        objOutlookMsg.Subject = "test"
     
        ' add graphic as attachment to Outlook message
        Set colAttach = objOutlookMsg.Attachments
        Set l_Attach = colAttach.add("C:\Users\Public\Pictures\pouce.jpg")
        l_Attach.propertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x370E001F", "image/jpeg"
        'Change From 0x370eE001E
        l_Attach.propertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x3712001F", "myident"
        'Changed from 0x3712001E
        'HideAttachments
        objOutlookMsg.propertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8514000B", True
        'Set body format to HTML
        objOutlookMsg.BodyFormat = olFormatHTML
        objOutlookMsg.HTMLBody = "<html><p>This is a picture.</p>" & _
                "<img src='cid:myident' >"
     
        objOutlookMsg.Save
        objOutlookMsg.Display
        'objOutlookMsg.Send
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/08/2017, 23h01
  2. Envoyer un email avec une image dans le corps du mail
    Par nitch01 dans le forum Langage
    Réponses: 1
    Dernier message: 04/01/2012, 08h36
  3. Envoyer un mail avec une image dans le corps du mail
    Par tkoprowski dans le forum Android
    Réponses: 1
    Dernier message: 24/08/2011, 17h03
  4. [javamail] Envoi de mail avec plusieurs images
    Par RamyBoulet dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 21/09/2009, 11h32
  5. Réponses: 3
    Dernier message: 06/12/2008, 19h34

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