Copier coller spécial pour mail outlook

Acide

XLDnaute Nouveau
Bonjour,

Après avoir scruté une bonne partie du forum je n'ai pas trouvé de solution à mon problème.

Je souhaite effectuer un copiage spécial "en tant qu'image, tel qu'à l'impression" et le coller dans mon message outlook (Et non le joindre)

Code:
Private Sub CB1_Click()
Dim a
a = TB1.Value

Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem
Dim ToContact As Outlook.Recipient
    Set OLF = GetObject("", _
        "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
     Set olMailItem = OLF.Items.Add
    With olMailItem
        .Subject = ("Fiche d'intervention n°" & a)  'Titre du message
        Set ToContact = .Recipients.Add(Sheets("Gestion").Range("E2"))  'Destinataire
        .Body = Range("A1:J43").CopyPicture(Appearance:=xlPrinter, Format:=xlPicture) 'Corps du message
        .Display
    End With
Unload Me
UserForm1.Hide
End Sub

Voila ou j'en suis. Mon problème se situe au niveau du .Body.
Avec l'enregistreur de macro j'ai obtenue
Code:
Range("A1:J43").CopyPicture(Appearance:=xlPrinter, Format:=xlPicture)
pour le copiage spécial, mais je ne sais pas comment l'utiliser dans ce cas.

Merci d'avance, Théo
 

Acide

XLDnaute Nouveau
Re : Copier coller spécial pour mail outlook

Là n'est pas mon problème, si je puis me permettre, avec
Code:
Set ToContact = .Recipients.Add(Sheets("Gestion").Range("E2"))  'Destinataire
dans la case E2 j'ai le nom du groupe de destinataire que j'ai préalablement défini sur outlook.
mon code marche très bien avec
Code:
.Body = Range("A1")
par exemple.

Mon problème est modifier le code dans la partie
Code:
.Body = Range("A1:J43").CopyPicture(Appearance:=xlPrinter, Format:=xlPicture)

pour avoir la plage A1:J43 sous forme d'image "copiage spécial type image tel qu'à l'impression" dans le corps du mail.

Mais merci quand même pour ton intérêt.
 

Acide

XLDnaute Nouveau
Re : Copier coller spécial pour mail outlook

Bon j'ai un peu avancé, je n'ai plus qu'un problème c'est comment appeler l'image dans le .body

Code:
Private Sub CB1_Click()
Dim a
a = TB1.Value
Worksheets(a).Range("A1:J43").CopyPicture Appearance:=xlPrinter, Format:=xlPicture
Worksheets(a).Paste
Selection.Name = "imagea"
Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem
Dim ToContact As Outlook.Recipient
    Set OLF = GetObject("", _
        "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
     Set olMailItem = OLF.Items.Add
    With olMailItem
        .Subject = ("Fiche d'intervention n°" & a)  'Titre du message
        Set ToContact = .Recipients.Add(Sheets("Gestion").Range("E2"))  'Destinataire
        .Body = "imagea"  'Corps du message
        .Display
    End With
Worksheets(a).Shapes("imagea").Select
Selection.Delete
Unload Me
UserForm1.Hide
End Sub
 

Acide

XLDnaute Nouveau
Re : Copier coller spécial pour mail outlook

Je ne suis pas sur de comprendre.

ActiveSheet.Pictures.Insert("C:\image.jpg").Select

Va selectionner l'image image.jpg dans le répertoire C

Or j'ai une plage de cellules dont je créé une copie sous forme d'image et je voudrai que cette dernière soit dans le corps du mail. Mais je n'arrive pas a utiliser l'image créé avec .body, il doit surement un .quelquechose que j'oublie
 

amayaa

XLDnaute Nouveau
Re : Copier coller spécial pour mail outlook

Bonjour Acide, eddy51

tu peux utiliser le HTMLBody et insérer ton image en html après l'avoir enregistré

olMailItem.HTMLBody = "<img src='" & path & "'>"

a+
 
Dernière édition:

Discussions similaires