Macro envoi plusieurs feuilles en pdf en 1 courriel
Bonjour,
J'ai une macro qui fonctionne très bien pour envoyer toutes les feuilles de mon excel qui comportent une adresse courriel dans la cellule A2 par mail en format pdf.
Mon problème est que cela créé un courriel par feuille. Est il possible d'envoyer toutes les feuilles qui ont un courriel en A2 en pièce jointe dans un même courriel ?
Voici ma macro actuelle :
Sub Mail_CONVLAPTOP_In_A2_PDF()
Dim sh As Worksheet
Dim TempFilePath As String
Dim TempFileName As String
Dim FileName As String
TempFilePath = Environ$("temp") & "\"
For Each sh In ThisWorkbook.Worksheets
FileName = ""
If sh.Range("a2").Value Like "?*@?*.?*" Then
TempFileName = TempFilePath & sh.Name & ThisWorkbook.Name & ".pdf"
FileName = RDB_Create_PDF(Source:=sh, _
FixedFilePathName:=TempFileName, _
OverwriteIfFileExist:=True, _
OpenPDFAfterPublish:=False)
If FileName <> "" Then
RDB_Mail_PDF_Outlook FileNamePDF:=FileName, _
StrTo:=sh.Range("a2").Value, _
StrCC:="", _
StrBCC:="", _
StrSubject:=sh.Range("b2").Value, _
Signature:=True, _
Send:=True, _
StrBody:=sh.Range("c2").Value
Else
MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
"Microsoft Add-in is not installed" & vbNewLine & _
"You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
"The path to Save the file in arg 2 is not correct" & vbNewLine & _
"You didn't want to overwrite the existing PDF if it exist"
End If
End If
Next sh
End SubN'hésitez pas à me dire s'il manque des info ou si ce n'est pas clair.
Merci d'avance ! :)
Bonjour EmilieO et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
De plus, lorsque vous inscrivez du code, merci de le mettre entre balises grâce au bouton </> SVP
Pour ce qui concerne votre demande, vous avez le code dans cet outil
https://www.excel-pratique.com/fr/telechargements/utilitaires/pdf-email-vba-excel-no508
Cordialement
Bonjour BrunoM45 !
Merci pour votre réponse. J'en prends notre pour mes prochaines demandes.
J'ai essayer cette macro
mais cela envoi toutes les feuilles du fichier. J'aimerai seulement envoyer les feuilles qui comportent un courriel dans une certaine cellule (A1 dans mon cas), l'objet en B1 et le sujet en C1.
Merci d'avance !
Bonjour,
Il suffit d'ajouter une Test
If instr(1, Sht.Range("A1").Value,"@") = 0 then Goto SuiteA+
