Envoi d'un email exell automatique

Fermé
Benja32 - 9 juil. 2013 à 13:08
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 9 juil. 2013 à 16:11
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

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
9 juil. 2013 à 13:16
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
Voici le lien pour avoir le tableur

http://cjoint.com/?3GjokkKW1Y4
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
9 juil. 2013 à 14:32
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
9 juil. 2013 à 16:11
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 106
9 juil. 2013 à 15:15
Bonjour,

On peut toujours simplifier mais si tu n'as pas de connaissance en VBA ça va être difficile et ton problème ne peut se traiter qu'en VBA
Tu peux également suivre cette discussion en cours

https://forums.commentcamarche.net/forum/affich-28138585-envoyer-un-fichier-excel#p28211219
0