Transférer diagrammes Excel vers Outlook

Résolu
brucealmighty Messages postés 33 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 14 août 2018 - Modifié par brucealmighty le 10/10/2016 à 09:14
brucealmighty Messages postés 33 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 14 août 2018 - 20 oct. 2016 à 03:22
Bonjour à tous,

Je me permets aujourd'hui de solliciter votre aide car je coince depuis plusieurs heures sur ce problème...
J'ai des diagrammes créés sur Excel que je souhaite envoyer par email via Outlook.
Je dois rédiger un court texte et insérer au milieu de ce texte le diagramme en question.
Le problème est que le diagramme s'insère tout en haut du message.
J'ai écrit ces quelques lignes encore infructueuses:

Sub UseOutlook()

Dim MyOutlook As Object
Dim MyMessage As Object
Set MyOutlook = CreateObject("Outlook.Application")
Set MyMessage = MyOutlook.CreateItem(0)
MyMessage.To = "pdg@entreprise.fr"
MyMessage.Subject = "Rapport diagramme"

EmailBody = "Bonjour à tous," & vbNewLine & vbNewLine
EmailBody = EmailBody & "Voici le diagramme tant attendu:" & vbNewLine & vbNewLine

Sheets("Diagrammes").Range("A2:M25").Copy
Set wordDoc = MyMessage.GetInspector.WordEditor
wordDoc.Range.PasteSpecial , , 0, , wdPasteBitmap

EmailBody = EmailBody & "Merci de me faire part de vos retours concernant ce diagramme." & vbNewLine & vbNewLine
EmailBody = EmailBody & "Cordialement," & vbNewLine & "Bruce"

MyMessage.Body = EmailBody

MyMessage.Display
Set MyOutlook = Nothing

End Sub


Le diagramme devrait se coincer entre "voici..." et "merci de me faire part...".
Je souhaiterais éviter de faire appel à toute libraire ou add-on additionnel à Outlook. Le but est qu'un débutant puisse cliquer directement sur un bouton et générer les emails sans avoir à trifouiller les menus.

D'avance merci beaucoup pour votre aide !!!

2 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 oct. 2016 à 22:05
Bonjour,

De cette manière, je ne sais pas trop, mais si tu pouvais mettre tout ton texte en premier, tu pourrais essayer ceci

Sub EnvoiDiagramme()
Sheets("Diagrammes").Range("A2:M25").Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = "Bonjour à tous," & vbNewLine & vbNewLine & "Voici le diagramme tant attendu:" & _
vbNewLine & vbNewLine & "Merci de me faire part de vos retours concernant ce diagramme." & _
vbNewLine & vbNewLine & "Cordialement," & vbNewLine & "Bruce"
.Item.To = "pdg@entreprise.fr"
.Item.Subject = "Rapport diagramme"
.Item.Send
End With
End Sub

0
brucealmighty Messages postés 33 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 14 août 2018
20 oct. 2016 à 03:22
Bonjour,

Merci pour votre réponse.
J'ai finalement trouvé la solution à mon problème.
Pour ceux qui se retrouveraient dans la même situation, il faut premièrement écrire le contenu en HTML :

MyMessage.HTMLBody = EmailBody


Ensuite il faut télécharger sur internet le module "Paste Picture" créé par Stephen Bullen en 1998 :
http://www.oaltd.co.uk/Excel/Default.htm
Ce module permet de sauvegarder des ranges en image avec la fonction PastePicture. Une fois l'image enregistrée dans le dossier de votre choix, vous pouvez l'insérer dans le code HTML en tant qu'image (fonction image src).

Cordialement.

Bruce
0
Rejoignez-nous