Envoi mail à date d'échéance

Florine26

XLDnaute Nouveau
Bonjour,

J'ai besoin d'aide afin de créer un code VBA, je suis novice en cette méthode...
Je suis actuellement stagiaire en entreprise et ma tutrice me demande de créer un tableau excel regroupant toutes les factures (je l'ai déjà crée) et elle souhaiterait recevoir directement un mail lorsqu'une date arrive à échéance (par rapport à la date du jour cellule B2. Je sais que cela est possible mais je ne sais pas par où commencer, ni comment m'y prendre malgré toutes les recherches que j'ai déjà effectué.

En colonne I se trouvent les dates des factures et en J les dates d’échéances.

Si possible, je souhaiterais que le mail contienne le nom du client (colonne B) ainsi que le numéro de facture (colonne I)



Merci de bien vouloir m'aider.
 

Florine26

XLDnaute Nouveau
Voici un fichier pour une meilleure visualisation, l'adresse mail de ma tutrice est sous outlook 2010, malheuresement je ne dispose pas de cette application sur mon propre ordinateur, est-ce que cela présente un problème ?
 

Pièces jointes

  • Suivi des factures.xls
    50.5 KB · Affichages: 76

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Peux-tu essayer après avoir renseigné les valeurs :

VB:
Sub EnvoiMailCDO()
    Dim mMessage As Object
    Dim mConfig As Object
    Dim mChps
    Dim Derl&, Lig&
    Derl = Feuil2.Range("B" & Rows.Count).End(xlUp).Row

    For Lig = 6 To Derl
        If Feuil2.Cells(Lig, 10) < Date Then
            Feuil2.Cells(Lig, 12).Value = "Envoyé"
            Set mConfig = CreateObject("CDO.Configuration")
            mConfig.Load -1
            Set mChps = mConfig.Fields
            With mChps
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "..........."
                .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "..........."
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "True"
                .Update
            End With
            Set mMessage = CreateObject("CDO.Message")
            With mMessage
                Set .Configuration = mConfig
                .To = Feuil2.Cells(Lig, 11).Text
                .From = "..........."
                .Subject = "Courriel de relance"
                .TextBody = "Bonjour " & Feuil2.Cells(Lig, 2).Text & "," & Chr(10) & Chr(10) _
                            & "Votre compte laisse apparaitre un retard de paiement concernant la facture " _
                            & Feuil2.Cells(Lig, 7).Text & "." & Chr(10) & "Cette facture concerne votre commande " _
                            & Feuil2.Cells(Lig, 8).Text & " du " & Feuil2.Cells(Lig, 9).Text _
                            & " qui aurait du être réglée avant le " & Feuil2.Cells(Lig, 10).Text & "." _
                            & Chr(10) & Chr(10) & "Cordialement" & Chr(10) & Chr(10) & "Le Gérant"
                '.AddAttachment 'Chemin et nom complet du fichier à joindre
                .Send
            End With

            Set mMessage = Nothing
            Set mConfig = Nothing
            Set mChps = Nothing
        End If
    Next Lig
End Sub

A+ à tous
 

Discussions similaires