Sub test()
'Private Sub Workbook_Open()
 
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim Signature As String
    Dim NomSujet As String
Dim DateControleTechnique As Date
Dim DateControlePollution As Date
DateControleTechnique = Date - 700
DateControlePollution = Date - 350
 
'Contrôle Technique
Dim NbreDateCT As Integer
Dim ControleTechnique As String
ControleTechnique = "Contrôle Technique Sup à 700 jours"
Dim image As String
image = ThisWorkbook.Path & Application.PathSeparator & ControleTechnique & ".JPG"
 
' filtre colonne "J" Contrôle Technique >= à 700 jours
Feuil8.ListObjects("TableauGeneral").Range.AutoFilter 'enlèvement filtre existant
Feuil8.ListObjects("TableauGeneral").Range.AutoFilter Field:=10, Criteria1:="<=" & Format(DateControleTechnique, "mm/dd/yyyy")
'Vérification quantités supérieurs à 1 (1 qui représente la ligne du titre)
NbreDateCT = WorksheetFunction.Subtotal(3, Sheets("Tableau général").Columns("J:J"))
If NbreDateCT > 1 Then
    'Création tableau en JPG pour insértion dans le mail
    Dim PlageCT As Range
    Set PlageCT = Feuil8.ListObjects("TableauGeneral").Range
    Application.CutCopyMode = False
    PlageCT.CopyPicture
    PlageCT.Select
      With Feuil8.ChartObjects.Add(0, 0, _
                    Selection.Width, Selection.Height).Chart
                    .Paste
                    .Export ThisWorkbook.Path & Application.PathSeparator & ControleTechnique & ".JPG", "JPG"
      End With
 
'Suppression image crée
Feuil8.ChartObjects.Delete
 
'Creation mail
    NomSujet = ControleTechnique
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
 
strbody = "<p>" & ControleTechnique & "<br>"
 
Signature = "<B><p>Nom Prenom</B><p>" & _
            "Titre<br>" & _
            "<B>Société</B><br> " & _
            "Adresse<br>" & _
            "Téléphone<br>" & _
            "Mail<br>"
 
 'langage HTML
 '<p>   <p> sauter une ligne
 '<br>  <br>a la ligne
 '<B>   </B> en gras
 
 
    On Error Resume Next
    With OutMail
        .To = "adresse.mail"
        .CC = ""
        .BCC = ""
        .Subject = NomSujet
        .HTMLBody = strbody & "<p>" & "<img src='" & image & "'></img></html>" & "<p>" & Signature
        'demande un accuse de reception
        '.OriginatorDeliveryReportRequested = True
        'demande un accuse de lecture
        '.ReadReceiptRequested = True
       ' .HTMLBody = Signature
        .attachments.Add image 'pour ajouter l'image en pièce jointe
        .Send
        '.Display
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
 
End If
 
'Enlèvement filtres automatiques
Feuil8.ListObjects("TableauGeneral").Range.AutoFilter
 
'Contrôle Pollution
Dim NbreDateCP As Integer
Dim ControlePollution As String
ControlePollution = "Contrôle Pollution Sup à 350 jours"
Dim imageP As String
imageP = ThisWorkbook.Path & Application.PathSeparator & ControlePollution & ".JPG"
 
' filtre colonne K Contrôle Pollution >= à 350 jours
Feuil8.ListObjects("TableauGeneral").Range.AutoFilter Field:=11, Criteria1:="<=" & Format(DateControlePollution, "mm/dd/yyyy")
 
'Vérification quantités supérieurs à 1 (1 qui représente la ligne du titre)
NbreDateCP = WorksheetFunction.Subtotal(3, Sheets("Tableau général").Columns("K:K"))
If NbreDateCP > 1 Then
 
    'Création tableau en JPG pour insértion dans le mail
    Dim PlageCP As Range
    Set PlageCP = Feuil8.ListObjects("TableauGeneral").Range
    Application.CutCopyMode = False
    PlageCP.CopyPicture
    PlageCP.Select
      With Feuil8.ChartObjects.Add(0, 0, _
                    Selection.Width, Selection.Height).Chart
                    .Paste
                    .Export ThisWorkbook.Path & Application.PathSeparator & ControlePollution & ".JPG", "JPG"
      End With
 
    'Suppression image crée
    Feuil8.ChartObjects.Delete
 
 
'Creation mail
    NomSujet = ControlePollution
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
 
strbody = "<p>" & ControlePollution & "<br>"
 
Signature = "<B><p>Nom Prenom</B><p>" & _
            "Titre<br>" & _
            "<B>Société</B><br> " & _
            "Adresse<br>" & _
            "Téléphone<br>" & _
            "Mail<br>"
 
 'langage HTML
 '<p>   <p> sauter une ligne
 '<br>  <br> aller à la ligne
 '<B>   </B> mettre en gras
 
 
    On Error Resume Next
    With OutMail
        .To = "adresse.mail"
        .CC = ""
        .BCC = ""
        .Subject = NomSujet
        .HTMLBody = strbody & "<p>" & "<img src='" & imageP & "'></img></html>" & "<p>" & Signature
        'demande un accuse de reception
        '.OriginatorDeliveryReportRequested = True
        'demande un accuse de lecture
        '.ReadReceiptRequested = True
       ' .HTMLBody = Signature
        .attachments.Add imageP 'pour ajouter l'imageP en pièce jointe
        .Send
        '.Display
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
 
End If
 
 'Enlèvement filtres automatiques
 Feuil8.ListObjects("TableauGeneral").Range.AutoFilter
 Range("A1").Select
 
End Sub