1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| Sub EnvoiMails()
Dim CheminSuiviProduits As String
CheminSuiviProduits = "I:\TachePlanifiee\SuiviProduits\"
Dim DatePlus1Jour As Date
Dim DateMoins3Jours As Date
DatePlus1Jour = Date + 1
DateMoins3Jours = Date - 3
Sheets("Feuil1").Select
'Filtre automatique
ActiveSheet.Range("Zone_d_impression").AutoFilter Field:=9, Criteria1:=">" & Format(DateMoins3Jours, "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<" & Format(DatePlus1Jour, "mm/dd/yyyy")
'Verification des dates a sortir avec Sous.Total
Dim NbreDate As Integer
NbreDate = WorksheetFunction.Subtotal(3, Sheets("Feuil1").Columns("I:I"))
If NbreDate - 1 <= 1 Then GoTo PasDeMail:
'Creation du fichier PDF qui sera envoye par mail
Dim NomExcel As String
Dim NomPdf As String
NomExcel = ThisWorkbook.Path & "\" & ThisWorkbook.Name
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & "pdf"
Sheets("Feuil1").Select
Range("Zone_d_impression").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomPdf _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
'Creation de mail Via l'Onglet "Signature-Mail"
Dim Phrase1 As String
Dim Phrase2 As String
Dim Phrase3 As String
Dim Phrase4 As String
Dim Phrase5 As String
Dim Phrase6 As String
Dim Phrase7 As String
Dim Phrase8 As String
Dim Phrase9 As String
Dim Phrase10 As String
Sheets("Signature_Mail").Visible = True
Sheets("Signature_Mail").Select
Phrase1 = Sheets("Signature_Mail").Range("A1")
Phrase2 = Sheets("Signature_Mail").Range("A2")
Phrase3 = Sheets("Signature_Mail").Range("A3")
Phrase4 = Sheets("Signature_Mail").Range("A4")
Phrase5 = Sheets("Signature_Mail").Range("A5")
Phrase6 = Sheets("Signature_Mail").Range("A6")
Phrase7 = Sheets("Signature_Mail").Range("A7")
Phrase8 = Sheets("Signature_Mail").Range("A8")
Phrase9 = Sheets("Signature_Mail").Range("A9")
Phrase10 = Sheets("Signature_Mail").Range("A10")
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim SigString As String
Dim Signature As String
Dim SigLogo As String
Dim NomSujet As String
NomSujet = "Liste des produits a sortir en date du " & Date
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "<p>" & Phrase1 & "<p>" & _
Phrase2 & "<br>" & _
Phrase3 & "<br>" & _
Phrase4 & "<br>" & _
Phrase5 & "<br>" & _
"<B>" & Phrase6 & "</B><br> " & _
Phrase7 & "<br> " & _
Phrase8 & "<br> " & _
Phrase9 & "<br>" & _
Phrase10 & "<br>"
'langage HTML
'<p> sauter une ligne
'<br> a la ligne
'</B> en gras
On Error Resume Next
With OutMail
.To = Sheets("Signature_Mail").Range("A20").Value
.CC = Sheets("Signature_Mail").Range("A21").Value & ";" & Sheets("Signature_Mail").Range("A22").Value & ";" & Sheets("Signature_Mail").Range("A23").Value
.BCC = ""
.Subject = NomSujet
.HTMLBody = strbody ' & "<img src='" & CheminFichier & "\" & "NomImage.png'></img></html>"
'demande un accuse de reception
'.OriginatorDeliveryReportRequested = True
'demande un accuse de lecture
'.ReadReceiptRequested = True
.Attachments.Add NomPdf
.Send
'.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
NomExcel = ThisWorkbook.Path & "\" & ThisWorkbook.Name
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & "pdf"
Kill NomPdf
Sheets("Signature_Mail").Visible = False
Sheets("Feuil1").Range("A1").Select
PasDeMail:
ActiveSheet.Range("Zone_d_impression").AutoFilter
ActiveWorkbook.Close SaveChanges:=False
End Sub |
Partager