Transférer diagrammes Excel vers Outlook [Résolu]

Signaler
Messages postés
33
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
14 août 2018
-
Messages postés
33
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
14 août 2018
-
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

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
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

Messages postés
33
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
14 août 2018

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