Display n'affiche pas le mail (envoi mail outlook via vba excel)

Résolu
cs_Crochette Messages postés 3 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 19 août 2010 - 18 août 2010 à 15:48
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 19 août 2010 à 17:14
Bonjour,

J'ai trouvé une macro excel qui envoie des mails avec images via outlook, elle fonctionne très bien (merci à l'auteur: Ron de Bruin), cependant je souhaite voir le mail avant de l'envoyer. J'ai essayé de changer .Send par .Display mais cela ne fonctionne pas et je ne trouve pas de solution.
Quelqu'un a-t-il une explication?

Voici le code:

Sub Send_Selection_Or_ActiveSheet_with_MailEnvelope()
    Dim Sendrng As Range

    On Error GoTo StopMacro

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    'Note: if the selection is one cell it will send the whole worksheet
    Set Sendrng = Selection

    'Create the mail and send it
    With Sendrng

        ActiveWorkbook.EnvelopeVisible = True
        With .Parent.MailEnvelope

            ' Set the optional introduction field thats adds
            ' some header text to the email body.
            .Introduction = "This is a test mail."

            ' In the "With .Item" part you can add more options
            ' See the tips on this Outlook example page.
            ' http://www.rondebruin.nl/mail/tips2.htm
            With .Item
                .Display
                .To = ""
                .Subject = "My subject"
            End With

        End With
    End With

StopMacro:
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
    ActiveWorkbook.EnvelopeVisible = False

End Sub


Merci de votre attention.

Crochette

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 août 2010 à 16:45
Bonjour,
Il suffit de supprimer la ligne:

ActiveWorkbook.EnvelopeVisible = False

@+
Le Pivert
3
cs_Crochette Messages postés 3 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 19 août 2010
18 août 2010 à 17:40
Merci beaucoup! ça marche au poil!

Crochette
0
cs_Crochette Messages postés 3 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 19 août 2010
19 août 2010 à 11:24
Bonjour Le Pivert,

J'ai une autre question sur laquelle tu pourras peut-être m'aider: le mail s'affiche maintenant directement dans excel et je suis donc obligée de l'envoyer, est-ce possible de l'ouvrir dans une feuille outlook directement? (j'ai trouvé des codes faisant ça mais ils n'envoient pas d'images comme celui posté ci-dessus).

Encore Merci.

Crochette
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
19 août 2010 à 17:14
J'ai juste cela qui te permet de mettre des informations dans une plage de cellule, en l'occurence: A1:B4
Le sujet est en A4

Private Sub CommandButton1_Click()
    Dim MailAd As String
    Dim Msg As String
    Dim Subj As String
    Dim URLto As String
    Dim Maplage As Range
    Sheets("Feuil1").Select
    Set Maplage = Range("A1:B4") 'definition de la plage contenant le Message
    MailAd = Range("A1")
    Subj = Range("A4")
    'boucle qui récupère le texte du message
   For Each Cell In Maplage 'dans chaque cellule de MaPlage...
        Msg Msg & "  " & Cell.Value & "%0D%0A" ' Message Message + Valeur de ma cellule
    Next 'Suite de la boucle
 URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
    ActiveWorkbook.FollowHyperlink Address:=URLto
   End Sub


Dans ce cas tu as le message et rien ne t'empêche de faire une insertion d'image.
@+
Le Pivert
0
Rejoignez-nous