Comment partager une feuille active par mail en pdf

Bonjour les amis,

voilà, pour mon association sportive, j'ai besoin d'envoyer par mail et en pdf une seul page mais quand je fais :

Fichier > partager > Courrier électronique > Envoyer en tant que pdf c'est tout le classeur qui est envoyé !!!

Donc je cherche depuis un moment une solution et j'espère trouver de l'aide ici.

Merci beaucoup, Juju92

Bonjour,

Quel est ton logiciel de messagerie ?

Un exemple ... (avec outlook)

J’utilise Outlook

Je viens de voir l'exemple, ça serais top si j'arrive à faire ça !

merci de votre aide.

Steelson,

Magnifique !

Ai-je le droit de supposer qu'avec les clients de messagerie modernes type Spark pour MacOS ou EM Client (très bonne alternative à Outlook sur Windows d'ailleurs) ce serait impossible ?

De plus, ta solution répond parfaitement, cependant si tu as un peu de temps, pourrais-tu expliquer un peu le code afin de pouvoir l'adapter à différents besoins, première chose qui me vient en tête, ça serait de pouvoir modifier le titre du fichier

Merci beaucoup de ta contribution

Un exemple ... (avec outlook)

je n'ai pas la prétention de révolutionner le système déjà en place, juste de facilité les choses pour des personnes encore plus néophytes que moi !

j'aimerais juste comprendre comment transposer ta solution sur ma pages.

je n'ai pas la prétention de révolutionner le système déjà en place, juste de facilité les choses pour des personnes encore plus néophytes que moi !

j'aimerais juste comprendre comment transposer ta solution sur ma pages.

Le pdf n'est qu'une impression, dans mon cas j'avais défini une zone particulière, mais on n'est pas obligé si c'est toute la page.

As-tu un projet simplifié pour te donner dans ce cas des explications plus adaptées ?

Plus simple ...

Option Explicit
Sub envoi()

Dim messagerie As Object
Dim email As Object
Dim nompdf As String

    nompdf = Environ("Temp") & "\" & "fichier test"
    ' soit activesheet soit une feuille particulière en mettant sheets("__ma__feuille__")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    Set messagerie = CreateObject("Outlook.Application")
    Set email = messagerie.CreateItem(0)
    With email
        .to = "ici le destinataire"
        .Subject = "ici le sujet"
        .body = "ici le texte"
        .Attachments.Add nompdf & ".pdf"
        .display ' ou .send pour envoi direct
    End With
    Set email = Nothing
    Set messagerie = Nothing

    Kill Environ("Temp") & "\" & "fichier test" & ".pdf"

End Sub

Ai-je le droit de supposer qu'avec les clients de messagerie modernes type Spark pour MacOS ou EM Client (très bonne alternative à Outlook sur Windows d'ailleurs) ce serait impossible ?

Outlook est dans l'environnement office, comme word et powerpoint entre autres. On peut donc facilement créer des onjets comme ici
CreateObject("Outlook.Application")

Pour d'autres messageries, on passera par des passerelles, soit avec shell pour lancer Thunderbird par exemple, soit avec CDO, soit avec MailEnvelope. Normalement tout est possible ... mais certaines plateforme comme gmail vont demander des autorisations spécifiques.

C'est la raison pour laquelle je demandais quelle était la messagerie utilisée.

Merci énormément Steelson, j'y suis enfin arrivé grâce à ton premier exemple.

C'est aussi le but du forum, faire progresser et rendre plus autonome (enfin c'est mon but).

Rechercher des sujets similaires à "comment partager feuille active mail pdf"