Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

eddy51

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

Ben ton classeur il est bien dans ton disque C , tu va cherche ton classeur ta feuille et tu affiche ton image je pence que sa peut le faire
 

Acide

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

Bon finalement je suis passé par la création d'un fichier jpg temporaire, je n'ai pas trouvé de moyen plus simple.

Merci a vous, amayaa et eddy51 pour votre aide !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…