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

brucealmighty 31 Messages postés lundi 28 mai 2012Date d'inscription 20 octobre 2016 Dernière intervention - 10 oct. 2016 à 09:02 - Dernière réponse : brucealmighty 31 Messages postés lundi 28 mai 2012Date d'inscription 20 octobre 2016 Dernière intervention
- 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 !!!
Afficher la suite 

2 réponses

Répondre au sujet
cs_MPi 3859 Messages postés mardi 19 mars 2002Date d'inscription 15 décembre 2017 Dernière intervention - 11 oct. 2016 à 22:05
0
Utile
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

Commenter la réponse de cs_MPi
brucealmighty 31 Messages postés lundi 28 mai 2012Date d'inscription 20 octobre 2016 Dernière intervention - 20 oct. 2016 à 03:22
0
Utile
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
Commenter la réponse de brucealmighty

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.