Envoyer une feuille en pdf par outllook

Bonjour,

Je suis fan d'excel (formule...) mais tout nouveau dans le VBA.

Voila j'aimerai pouvoir envoyer une seule feuille de mon classeur en PDF via outlook.

J'ai trouvé quelques formules mais souvent, le mail par directement.

J'aimerai Outlook s'ouvre avec le mail du destinataire, le sujet rempli

il me resterait à remplir le corps de texte dans Outlook (Afin de personnalisé l'envoie) et envoyer le mail.

Merci pour votre aide.

Romain

Bonjour,

à tester,

Sub Mail_Outlook_fichier_PDF()
'Il faut activer la référence "Microsoft Outlook xx.x Object Library" avant de lancer cette macro
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim sh As Worksheet

Set sh = Sheets("Feuil3") 'à adapter  feuille à envoyer

chemin = "C:\Users\isabelle\Documents\"  'à adapter
fichier = "Monfichier.pdf"                          'à adapter

sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

With OutMail
    .To = "destinataire@site.com"                   'à adapter
    .CC = ""
    .BCC = ""
    .Subject = "This is the Subject line"
    .Body = "Hello World!"
    .Attachments.Add (chemin & fichier)
    .Display
'    .Send
End With

Set OutMail = Nothing
Set OutApp = Nothing
Kill chemin & fichier
End Sub

A adapter... fonctionne normalement sauf la pièce jointe qui se fixe a la fois en pièce jointe et dans le corps du mail

Sub Mail_topo()

Dim Monoutlook As Object
Dim Monmessage As Object

Set Monoutlook = CreateObject("Outlook.Application")
Set Monmessage = Monoutlook.CreateItem(0)

Set Monoutlook = Nothing

    With Monmessage
        .To = "robert@smith.com "
        .Cc = "david@bowie.com"
        .Subject = "MonSujet"
        .body = "Bonjour, " & Chr(10) & Chr(10) & "Voici le bilan de: " & Chr(10) & Chr(10) & "Cordialement"
        .Attachments.Add "C:\Users\... "
        .OriginatorDeliveryReportRequested = True
        .ReadReceiptRequested = False
        .display
    End With

    Application.Wait (Now + TimeValue("0:00:04"))
    SendKeys "^v", True
    Application.CutCopyMode = False

End Sub

Bonjour,

Tout d'abord, merci à tous les deux pour votre réponse.

J'ai testé le celui de i20100 en premier. Et ca fonctionne comme je voulais. MERCI !

Puis je abusé et vous demandez dans

With OutMail

.To = "destinataire@site.com" ici si j'ai pour l'instant rien mis donc je remplis l'adresse mail une fois dans outlook.

Cependant, l''adresse mail figure dans la cellule D11 de ma feuille. Comment je peux demander de reprendre la contenu dans la case D11 ?

Merci de votre aide.

re,

à tester,

.To = Sheets("MaFeuille").Range("D11").Value     'adapter le nom de la feuille

Un grand merci !

Au top.

Autre question,

Si on veut envoyé la feuille active, quel code devons nous mettre ?

Merci pour votre aide

Essaye un

Set sh as ThisWorkbook.ActiveSheet.Selection 'feuille à envoyer

J'ai essayé un

Set sh = ActiveSheet

Et cela a fonctionné.

Merci à tous.

Ca facilite vraiment la vie

Rechercher des sujets similaires à "envoyer feuille pdf outllook"