Envoi d'un email exell automatique

Benja32 -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Salut,

J'ai créé un tableur pour les échéances de mes factures, jusque là ça va mais je voudrais que Excel m'envoie un mail automatiquement 3 jours avant l'échéance.
Quelqu'un peut m'aider ?

Merci d'avance.

5 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Avant tout, il nous faudrait un exemple de la structure de ton fichier, feuilles, colonnes, entêtes... Bref un topo complet et une copie (sans données confidentielles) peuvent être très utiles...
    Pour joindre un fichier ici, il faut :
    1- aller sur https://www.cjoint.com/
    2- créer un lien vers ton fichier
    3- revenir ici coller le lien dans une réponse.
    0
  2. Benja32
     
    Voici le lien pour avoir le tableur

    http://cjoint.com/?3GjokkKW1Y4
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Ma proposition :
    Colle ces deux procédures dans un module standard de ton classeur, adapte les et testes...

    Sub EnvoiMail()
    Dim lig As Long, drlig As Long, Msg As String
    Dim Exped As String, Destinat As String, CopieA As String, ServSMTP As String
    
    '**************** A ADAPTER ****************
    Exped = "mail.expediteur@free.fr"
    Destinat = "mail.destinataire@free.fr"
    CopieA = "mail.CC@free.fr"
    ServSMTP = "smtp.free.fr"
    '*******************************************
    
    drlig = Range("F" & Rows.Count).End(xlUp).Row
    For lig = 6 To drlig
        If Cells(lig, 6).Value = "À PAYER" Then
            Msg = Msg & "La facture pour " & Cells(lig, 1) & ", d'un montant de " & Cells(lig, 2) & " €, est à payer pour le " & Cells(lig, 5) & "." & Chr(10) & Chr(10)
        End If
    Next lig
    Envoi Exped, Destinat, Msg, ServSMTP, CopieA
    End Sub
    
    'Sources :
    'http://www.commentcamarche.net/forum/affich-21042611-envoi-mail-en-vba-avec-corps-message#15
    'référence à cocher : Microsoft CDO for Windows 2000 Library
    Sub Envoi(strPour As String, strDe As String, Msg As String, Serveur As String, Optional strCC As String)
    Dim objMessage As Object
    
    On Error GoTo errorHandler
    Set objMessage = CreateObject("CDO.Message")
    With objMessage
        .Subject = "Factures à échéance."
        .From = strDe
        .To = strPour
        .CC = strCC
        .TextBody = Msg
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Serveur
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Configuration.Fields.Update
        .Send
    End With
    MsgBox "Message transmis."
    Exit Sub
    errorHandler:
    MsgBox Err.Description
    End Sub 

    0
  4. Benja32
     
    Merci mais euh ... je comprend rien. Suis quand même limité en tableur lol .
    Tu saurais pas l'encoder et me le renvoyer par hazard ?
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bien sur.
      Mais...

      Tu veux que cela soit entièrement automatisé? Quand veux tu que l'email parte? à l'ouverture du classeur? autre?

      Suit également les conseils de Mike-31 (salut!).
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question