XL 2019 Copier Image dans excel et coller dans HTMLBody d'Outlook

klmens

XLDnaute Nouveau
Chers tous,

HELP ! Ca fait trois jours que je suis sur ce sujet et je commence à perdre tout mes cheveux à force d'essayer. haha

Alors voilà, je souhaiterai copier un image (déjà insérée) depuis mon classeur excel et souhaiterai qu'elle apparaisse entre deux paragraphe sur mon corp de mail outlook.

Voici le code (je mets en rouge le code qui me pose problème)

& ActiveSheet.Pictures("Image 2").Copy & Pictures.Paste _

Merci infiniment à mon sauveur !

VB:
Dim Mail As Variant


Set Mail = CreateObject("outlook.application")

With Mail.CreateItem(olMailItem)
.Subject = ActiveSheet.Range("d2")
.To = ActiveSheet.Range("A5")
.htmlBody = sp & ActiveSheet.Range("D4") & " " & ActiveSheet.Range("E4") & " " & ActiveSheet.Range("F4") & "," & ep _
& sp & ActiveSheet.Range("D6") & ep _
& ActiveSheet.Pictures("Image 2").Copy & Pictures.Paste _
& sp & et & bd & ActiveSheet.Range("d9") & bs & " " & "-" & " " & ActiveSheet.Range("f9") & " " & "-" & " " & ActiveSheet.Range("g9") & et & ActiveSheet.Range("e9") & " " & ActiveSheet.Range("h9") & et & bd & ActiveSheet.Range("i9") & "€" & bs & ep _
& sp & et & bd & ActiveSheet.Range("d10") & bs & " " & "-" & " " & ActiveSheet.Range("f10") & " " & "-" & " " & ActiveSheet.Range("g10") & et & ActiveSheet.Range("e10") & " " & ActiveSheet.Range("h10") & et & bd & ActiveSheet.Range("i10") & "€" & bs & ep _
& sp & et & bd & ActiveSheet.Range("d11") & bs & " " & "-" & " " & ActiveSheet.Range("f11") & " " & "-" & " " & ActiveSheet.Range("g11") & et & ActiveSheet.Range("e11") & " " & ActiveSheet.Range("h11") & et & bd & ActiveSheet.Range("i11") & "€" & bs & ep _
& sp & et & bd & ActiveSheet.Range("d12") & bs & " " & "-" & " " & ActiveSheet.Range("f12") & " " & "-" & " " & ActiveSheet.Range("g12") & et & ActiveSheet.Range("e12") & " " & ActiveSheet.Range("h12") & et & bd & ActiveSheet.Range("i12") & "€" & bs & ep _
& sp & et & bd & ActiveSheet.Range("d13") & bs & " " & "-" & " " & ActiveSheet.Range("f13") & " " & "-" & " " & ActiveSheet.Range("g13") & et & ActiveSheet.Range("e13") & " " & ActiveSheet.Range("h13") & et & bd & ActiveSheet.Range("i13") & "€" & bs & ep _
& sp & ActiveSheet.Range("d32") & ep _
& sp & ActiveSheet.Range("d34") & ep _
& sp & ActiveSheet.Range("d36") & ep _
& sp & ActiveSheet.Range("d38") & ep _
& sp & ActiveSheet.Range("d40") & ep _
& sp & et & ActiveSheet.Range("d42") & ep
.Attachments.Add ActiveSheet.Range("D44").Value
.Attachments.Add ActiveSheet.Range("D45").Value
.Display

End With

On Error Resume Next

End Sub
 

zebanx

XLDnaute Accro
Bonjour à tous,

Je ne suis pas un récurrent sur l'insertion d'image mais pour importer une image sur un mail outlook, les codes fournis sur le fichier ci-joint et fournis par Dudu2 ( ;)) font le travail.
L'image n'est pas sur le fichier excel mais on indique son chemin.

Le code principal (sub....) fait appel à différentes fonctions.

Xl-ment
zebanx

Le code principal
VB:
Sub EnvoyerMailOutLook()
    Dim OutLookInterface As OUTLOOK_DATA
    With OutLookInterface
        .SendUsingAccount = 0           'Pour choisir le compe OutLook à utiliser pour envoyer le mail
        .ReadReceiptRequested = False   'Pas d'Accusé de Réception demandé
        .Importance = 1                 'Normale
        .To = "thierry_...@yahoo.com"
        '.To = "destinataireTo1@domaine.com;destinataireTo2@domaine.com"
       ' .Cc = "destinataireCc1@domaine.com;destinataireCc2@domaine.com"
        '.Bcc = "destinataireBcc1@domaine.com;destinataireBcc2@domaine.com"
        .Subject = "Sujet du mail"
        .Body = "Bonjour <BR><BR> <EmbbededImage1><BR>Texte du mail<BR><BR><BR><EmbbededImage2 width='200'><BR>Fin du mail"
        .BodyFormat = 2                 'Pour HTML
        .EmbbededImages(1) = "C:\Users\Duch..\Pictures\johnny 196.jpg"
        .EmbbededImages(2) = "C:\Users\Duch...\Pictures\photo1.jpg"
        '.Attachments(1) = "H:\Téléchargements\2020-04-28_142054.pdf"
        '.Attachments(2) = "H:\Téléchargements\2020-04-28_141134.jpg"
        .Action = "Display"
        '.Action = "Send"
    End With

    Call MailOutlook(OutLookInterface)
End Sub
 

Pièces jointes

  • image html dudu 2.xlsm
    25.2 KB · Affichages: 17

Staple1600

XLDnaute Barbatruc
Bonjour le fil

=>fanch55 et zebanx
Alors voilà, je souhaiterai copier une image (déjà insérée) depuis mon classeur excel
Je n'ai pas compris la question comme vous.
Je l'ai interprétée comme-ci dessous:
L'image est déjà dans le classeur sur une feuille et il n'agit pas d'exporter une plage de cellules en image pour ensuite la copier dans Outlook.
Ni d'insérer une image stockée sur HD dans le corps (ou en PJ) d'un mail Outlook.
Si j'ai bien compris, il s'agit de copier directement une image dans Outlook.
(image non stockée sur HD mais dans le classeur)
 

zebanx

XLDnaute Accro
Bonjour Staple1600 :)

La problématique a été correctement présentée par le demandeur.
Je n'y réponds pas mais serai heureux de voir une réponse appropriée que j'ai du mal à trouver...
Dans l'attente, le code de Dudu2 permet d'afficher une/plusieurs images (d'après leurs chemins)+ remplir un message.

Bonne journée à toi,
zebanx
 

Staple1600

XLDnaute Barbatruc
Re

=>zebanx
Je suis également dans la difficulté.
Les exemples export/range => jpg ou insert -> jpg vers Outlook ne manquent pas sur le web ou dans les archives du forum.
Mais copier une image directement depuis Excel vers Outlook, pour l'instant, je sèche aussi ;)
 

klmens

XLDnaute Nouveau
Merci à tous pour vos réponses. Alors j'ai réussi à adapter le code comme ceci : avec img scr=
HTML:
.To = ActiveSheet.Range("A5")
.htmlBody = sp & ActiveSheet.Range("D4") & " " & ActiveSheet.Range("E4") & " " & ActiveSheet.Range("F4") & "," & ep _
& sp & ActiveSheet.Range("D6") & ep _
& "<img src=" & ActiveSheet.Range("k9") & "' height=150 width=150>" & sp & bd & ActiveSheet.Range("d9") & bs & " " & "-" & " " & ActiveSheet.Range("f9") & " " & "-" & " " & ActiveSheet.Range("g9") & et & ActiveSheet.Range("e9") & " " & ActiveSheet.Range("h9") & et & bd & ActiveSheet.Range("i9") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k10") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d10") & bs & " " & "-" & " " & ActiveSheet.Range("f10") & " " & "-" & " " & ActiveSheet.Range("g10") & et & ActiveSheet.Range("e10") & " " & ActiveSheet.Range("h10") & et & bd & ActiveSheet.Range("i10") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k11") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d11") & bs & " " & "-" & " " & ActiveSheet.Range("f11") & " " & "-" & " " & ActiveSheet.Range("g11") & et & ActiveSheet.Range("e11") & " " & ActiveSheet.Range("h11") & et & bd & ActiveSheet.Range("i11") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k12") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d12") & bs & " " & "-" & " " & ActiveSheet.Range("f12") & " " & "-" & " " & ActiveSheet.Range("g12") & et & ActiveSheet.Range("e12") & " " & ActiveSheet.Range("h12") & et & bd & ActiveSheet.Range("i12") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k13") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d13") & bs & " " & "-" & " " & ActiveSheet.Range("f13") & " " & "-" & " " & ActiveSheet.Range("g13") & et & ActiveSheet.Range("e13") & " " & ActiveSheet.Range("h13") & et & bd & ActiveSheet.Range("i13") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k14") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d14") & bs & " " & "-" & " " & ActiveSheet.Range("f14") & " " & "-" & " " & ActiveSheet.Range("g14") & et & ActiveSheet.Range("e14") & " " & ActiveSheet.Range("h14") & et & bd & ActiveSheet.Range("i14") & "€" & bs & ep _
& "<img src=" & ActiveSheet.Range("k15") & "' height=150 width=150>" & sp & et & bd & ActiveSheet.Range("d15") & bs & " " & "-" & " " & ActiveSheet.Range("f15") & " " & "-" & " " & ActiveSheet.Range("g15") & et & ActiveSheet.Range("e15") & " " & ActiveSheet.Range("h15") & et & bd & ActiveSheet.Range("i15") & "€" & bs & ep _
 

klmens

XLDnaute Nouveau
Bonjour le fil

=>fanch55 et zebanx

Je n'ai pas compris la question comme vous.
Je l'ai interprétée comme-ci dessous:
L'image est déjà dans le classeur sur une feuille et il n'agit pas d'exporter une plage de cellules en image pour ensuite la copier dans Outlook.
Ni d'insérer une image stockée sur HD dans le corps (ou en PJ) d'un mail Outlook.
Si j'ai bien compris, il s'agit de copier directement une image dans Outlook.
(image non stockée sur HD mais dans le classeur)
Oui il s'agit d'une image non stockée sur mon HD mais qui est sur une des feuilles de mon classeur
 

Statistiques des forums

Discussions
312 291
Messages
2 086 842
Membres
103 399
dernier inscrit
Tassiou