Echange Coaching Sportif ou Donut contre macro pdf mail

Bonjour,

J’ai trouvé plusieurs discussions et solutions imaginées ci-après pour mon problème mais je n’ai pas su les mettre en oeuvre. Je propose à celui qui trouvera la solution de le coacher pendant 3 mois c’est pas une obligation non plus

https://forum.excel-pratique.com/viewtopic.php?f=2&t=117040&p=709169&hilit=pdf+mail#p709169

https://forum.excel-pratique.com/viewtopic.php?f=2&t=117164&p=710262&hilit=pdf+mail#p710262

https://forum.excel-pratique.com/viewtopic.php?f=2&t=62441

https://forum.excel-pratique.com/viewtopic.php?f=2&t=112973&p=676612&hilit=impression+et+envoi+mail#p676612

J’ai un fichier excel me permettant d’envoyer 3 mois de programme d’entrainement personnel en cardio et renforcement aux personnes que je coach.

J’aimerais créer une macro (dont je découvre l’existence ce soir) me permettant en une seule action de:

  • envoyer un mail à ‘a’!$A$3
  • comportant en PDF les
  • X premières pages de feuille 1 (avec X = ’cardio ecran’!A1)
  • Y premières page de feuille 2 (avec Y = ‘écran muscu’!A1)
  • Avec comme objet de mail « programme d’entraînement »
  • Comme texte de mail « Bonjour ‘a’!$A$3, voici votre programme blablabla »

Voici un fichier similaire.

Merci par avance, peut-être, pour votre aide, au plaisir de vous aider à mon tour,

Bien cordialement

julien

11test.xlsx (428.73 Ko)

Bonjour,

Sub envoi()

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

On Error GoTo erreur

    nompdf = Environ("Temp") & "\" & "coaching"
    Sheets("résumé").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 = ""
        .Subject = "Programme d’entraînement"
        .htmlbody = "Bonjour,<br>voici votre programme blablabla" & .htmlbody
        .ReadReceiptRequested = True
        .Attachments.Add nompdf & ".pdf"
        .display
    End With
    Set email = Nothing
    Set messagerie = Nothing

    Kill Environ("Temp") & "\" & "coaching" & ".pdf"

Exit Sub

je n'ai pas compris où se trouvait ‘a’!$A$3, il n'y a pas de feuille a

sinon, lance la macro envoi (si tu n'as pas outlook, revient me voir)

13test.xlsm (432.67 Ko)

Bonsoir Steelson,

Merci beaucoup pour ton aide! Effectivement j'ai joint le mauvais fichier. Je n'avais pas précisé non plus que je suis sur Excel Mac 2011 et que j'utilise mail. J'ai recoupé le code que tu as créé avec quelque chose trouvé ailleurs pré par Ron de Bruin

tout fonctionne. Merci Beaucoup! Voici le résultat pour ceux que ça pourrait intéresser:

Sub mailpdfCARDIO()

Dim TempPDFFolder As String

Dim PDFfolder As String

Dim PDFfileName As String

'Path to folder where we save the pdf's temporary. The code will create

'the folder named "PDFTempFolder" in your Documents folder for you

'Note: this will not be used when you create a pdf of one sheet but not remove this line

TempPDFFolder = MacScript("return (path to documents folder) as string") & "PDFTempFolder:"

'Folder where you want to save the PDF file, Documents folder in this example

PDFfolder = MacScript("return (path to documents folder) as string")

'Enter the file name that you want to use for the PDF, do not add the extension.

PDFfileName = "nom à donner au fichier" & Format(Now, "dd-mm-yyyy") & " " & Range("A3")

Application.ScreenUpdating = False

'You can also use this for the activesheet : ActiveSheet.Copy

Worksheets("nom de la feuille à envoyer").PageSetup.PrintArea = "c'est la plage de donnée à imprimer $A$1:$P$" & Range("ça c'est la dernière ligne de cette plage de donnée $I$6")

Worksheets("nom de la feuille à envoyer").Copy

'Do not change the macro call below, you see that we only have one macro call

'if we create a PDF of one sheet because we not have a problem with the bug that

'create a pdf of each worksheet in the workbook because there is only one sheet.

Call MakePDF(TempPDFFolder, PDFfolder, PDFfileName, True)

'Close temporary file

ActiveWorkbook.Close SaveChanges:=False

'Create and send E-mail if the PDF file exist

If FileExistsOnMac(PDFfolder & PDFfileName & ".pdf") = True Then

MailFromMacWithMail bodycontent:="Bonjour," & vbNewLine & vbNewLine & "Voici votre programme cardio. Rendez-vous sur votre compte myogie.com pour indiquez un changement d'emploi du temps, une nouvelle mesure de condition physique. " & vbNewLine & vbNewLine & "Bien cordialement." & vbNewLine & vbNewLine, _

mailsubject:="Votre Entraînement Cardio Myogie", _

toaddress:=Range("référence de la cellule dans laquelle est l'adresse email exemple A1"), _

ccaddress:="", _

bccaddress:="", _

attachment:=PDFfolder & PDFfileName & ".pdf", _

displaymail:=False

End If

Application.ScreenUpdating = True

End Sub

'Merci Steelson

Veux-tu teste le programme ?

julien

Rechercher des sujets similaires à "echange coaching sportif donut contre macro pdf mail"