Mail + PDF en pièces jointe

Bonjour à tous,

Voilà je sollicite à nouveau vos aides très précieux j'ai une feuille "DEVIS" avec un simple devis dont il y a un macro pour envoyer par mail, qui reprends l'info directement dans le corps du mail via outlook. voici le code;

Sub EnvoiMailDevis()
'Déclaration des varabiale
Dim MaFeuille As Worksheet 'La feuille contenant le tableau'
Dim NbLigne As Integer  'Nombre de ligne à récuperer
'Affecttion des variables'
Set MaFeuille = ThisWorkbook.Sheets("DEVIS") 'on definit la feuille laquelle on va envoyer le tableau de board'
'Desactivation du raffraichissement de l'écran'
Application.ScreenUpdating = False
'On calcula le nombre de ligne à prendre dans la feuille à partir de la colone A'
NbLigne = MaFeuille.Range("A" & Application.Rows.Count).End(xlUp).Row
'on selectionne la plage à copier'
MaFeuille.Range("B1:F48" & NbLigne).Select
ActiveWorkbook.EnvelopeVisible = True
'Avec l'objet MailEnvelope on envoi dans le corps du mail'
With MaFeuille.MailEnvelope.Item
    .To = MaFeuille.Range("F11").Value       'Destination direct
    'CC = Mafeuille.range "R3").Value        'Destination en copie
      .Subject = MaFeuille.Range("E1").Value   'Objet du Mail
    '.Attachements.Add "CheminFichier"       'Pièce jointe
    .Send 'On envoi                          'Envoi mail
End With
'confirmation d'envoi du Mail.
MsgBox "Votre mail à bien été envoyé"
Application.ScreenUpdating = True
End Sub

Mon devis est de A1: F1 et du A40 :F40 comme sur l'image ci-dessous je souhaite ajouter dans mon mail en plus un attache (pièce jointe), les Ranges A1: F1 et du A40 :F40 étant que PDF.

devis

Merci d'avance,

Crdl

Bonjour,

Sujet maintes fois traité ici et ailleurs, faites une recherche sur

Function RangetoHTML(rng As Range)

A+

Bonjour,

Quand vous dites ici et ailleurs est-ce que je dois coller ce fonction sur ma feuille devis ou bien l'insérer dans le macros.

Function RangetoHTML(rng As Range)

Merci d'avance.

Ok je vais vérifier sur le forum.

Merci.

Bonsoir Bruno,

Merci pour l'indication

Function RangetoHTML(rng As Range)

Je l'ai vérifié mais ce si j'ai bien compris ce n'est pas toute à fait ma requête car je souhaite intégré dans mon mail de ma feuille DEVIS les Ranges
A1: F1 et du A40 :F40 comme PDF. Tandis que la fonction prends une autre page que celle-ci.

Si vous pouvez m' éclairer.

Merci.

Bonjour Kevin38,

Ainsi que des explications claires de ce que vous souhaitez faire SVP

Bonjour Bruno,

Veuillez trouvez en annexe le fichier devis.

19envoi-devis.xlsm (47.14 Ko)

PS: Quand je click sur envoi de mail devis la page entier est sélectionnée.
Devrais sélectionner B1: F1 et du B40 :F40

Merci.

Crdl

Re,

J'ai enfin compris ce que vous vouliez faire, mais ce n'est pas la bonne méthode

Un devis s'envoie sous format PDF et non autrement

Voici un classeur que j'avais mis à dispo pour que vous puissiez reprendre le code de "1 feuille vers PDF + eMAil"
https://www.excel-pratique.com/fr/telechargements/utilitaires/pdf-email-vba-excel-no508

A+

Bjr Bruno,

J'avais déjà vu ce format sur le forum mais je voulais garder mon format actuel et de + (si possible joindre le pdf).

Merci encore

Bonjour,

je reviens avec ma demande dont je n'ai toujpurs as une solution;

"envoyer une feuille excel dans le corps d'un mail avec une plage de Range + en pièce joint en pdf"

Pourquoi? dans le corps de l'email ajouter le devis et en plus ajouter ce devis (au cas si le devis ne s'affiche pas correctement) le joindre en pièce jointe en format PDF.

Merci d'avance.

Bonjour Kevin38 et le Forum,

voici le code qui devrait faire ce que tu souhaites

Sub EnvoiMailDevis()
'https://forum.excel-pratique.com/excel/mail-pdf-en-pieces-jointe-174614

Dim MaFeuille As Worksheet
Dim NbLigne As Integer
Dim DevisRng As Range
Dim MonFichier As String

Set DevisRng = ThisWorkbook.Sheets("DEVIS").Range("B1:F40")
Set MaFeuille = ThisWorkbook.Sheets("DEVIS")

MonFichier = ThisWorkbook.Path & "\DEVIS.pdf"

Application.ScreenUpdating = False

DevisRng.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=MonFichier, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False

NbLigne = MaFeuille.Range("A" & Application.Rows.Count).End(xlUp).Row
MaFeuille.Range("B1:F48" & NbLigne).Select
ActiveWorkbook.EnvelopeVisible = True

With MaFeuille.MailEnvelope.Item
    .To = MaFeuille.Range("F11").Value
    .Subject = MaFeuille.Range("E1").Value
    .Attachments.Add MonFichier
    .Send
End With

Kill MonFichier

Application.ScreenUpdating = True

End Sub

Bonjour Sequoyah,

Dès que.j'aurais accès à mon fichier je vais l'essayer.

Bien cordialement.

Rechercher des sujets similaires à "mail pdf pieces jointe"