Il y a actuellement 568 visiteurs
Jeudi 21 Novembre 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

VBA : Mail à date atteinte ou rappel via Excel

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

VBA : Mail à date atteinte ou rappel via Excel

Message le 14 Déc 2017 14:13

Bonjour.

J'aimerai créer un fichier excel avec des dates, des adresses mail, les corps des messages et le sujets, respectivement dans 4 colonnes, puis créer une macro qui enverrait un mail via Outlook une fois la date correspondante atteinte.

J'ai quelques bases de programmation, mais en VBA je suis plutôt débutant. Cependant en piochant à droite à gauche, j'ai réussi à trouver un code qui fonctionne mais ne va pas "pas assez loin" (voir ci-dessous).

En fait lors de la récupération du mail il ne semple pas valider pas par "entrée" (du coup quand Outlook s'ouvre l'adresse mail est bien écrite dans le champs "destinataire" mais n'est pas validée, je ne sais pas si c'est clair).

Et le code ne semble pas envoyer le message, mais ça vient peut-être de la même chose justement.

Code: Tout sélectionner
Sub SendEmail()
           
Dim OutApp As Object
Dim OutMail As Object
Dim EmailSubject As String
Dim EmailSendTo As String
Dim MailBody As String
       
Set Rng = Range(Range("C1"), Range("C" & Rows.Count).End(xlUp))
     
For Each cell In Rng
If cell.Value <> "" Then

'Get Due Date
    Dte = cell.Value
   
'Get 2 days away by taking 2 days off cell Dte value
    MailDteNear = DateAdd("d", -2, Dte)
   
'Due date is the cell value
    MailDteDue = Dte
   
'Check 2 days away and send to column D address
    If Date = MailDteNear Then
    mail = True
    EmailSendTo = cell.Offset(0, 1).Value
    End If
   
'Check Due and send to column D & E address
    If Date = MailDteDue Then
    mail = True
    EmailSendTo = cell.Offset(0, 1).Value & "; " & cell.Offset(0, 2).Value
    End If
   
 If mail = True Then
   
'Subject string
    EmailSubject = Range("A1").Value 'Cell A1
   
'Mail Body
    MailBody = cell.Offset(0, -1).Value 'Column B
 
'Send Mail
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(o)
        With OutMail
            .Subject = EmailSubject
            .To = EmailSendTo
            '.bcc
            .Body = MailBody
            .Display
            '.send
        End With
 
        Set OutMail = Nothing
        Set OutApp = Nothing
        mail = False
        EmailSendTo = ""
       
 End If
 End If
Next


S'il est important de savoir le vrai but, en fait ça serait que le fichier contenant des dates d'expiration et permettant de prévenir une fois la date atteinte, ou même faire un rappel un peu avant.

L'idéal serait que cela puisse fonctionner même quand le fichier n'est pas ouvert, mais ça semble plus compliqué.

Merci d'avance pour votre aide.
mlkgiosn
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 404
Inscription: 09 Avr 2010 13:54
 



Sujets similaires

Message Mail invisible avec netcourrier
Bonjour J'ai reçu plusieurs mails de GLS, vides, juste l'entête, pour les voir, il faut que je les télécharge, version texte, avec les trois petits points au-dessus de la fenêtre du mail à droite, j'ai compris après coup, ce qu'il fallait faire pour pouvoir les lire. Ça me pose un gros souci, comme ...
Réponses: 5

Message Excel : vérouiller une cellule sous condition [Edit]
Bonjour,Je chercher à limiter la modification d'une plage de cellule d'un tableau sous la condition qu'une autre cellule du même tableau soit remplie.J'ai des options choisies par des élèves à entrer et s'il n'y a pas d'option choisie je coche une case "aucune option". Je voudrais vérouill ...
Réponses: 0

Message Boite mail GMX
Bonjour J'ai ouvert un compte mail gmx, à chaque fois que je ferme ma page internet, je me retrouve sur cette page. https://www.gmx.fr/logout/Alors que l'adresse que j'ai copié dans le raccourci de mon navigateur, c'est le lien de ma page "connecté". Avez-vous une idée du souci ? Merci
Réponses: 13

Message [Réglé] Possible piratage boîte mail
Bonsoir,En tentant de consulter ma boîte Outlook ce soir je constate qu'elle semble piratée.On me refuse l'accès via mes identifiants et la demande d'envoi d'un code par SMS est compromise car mon numéro de téléphone a visiblement été changé lui aussi.Pour information, le site prétend que j'ai essay ...
Réponses: 9

Message mettre le descriptif d'un flyer dans un mail
Bonjour,Excusez-moi mais je ne sais pas à quel endroit, poser la question suivante :Est-possible de mettre le contenu d'un flyer dans un mail afin qu'il soit lisible directement à l'ouverture sans le mettre en pièce jointe ?MerciCordialement
Réponses: 9

Message mail orange
BonjourDepuis que j'ai du changé mon mot de passe orange , ma boite gmail et window 10 ne reconnait plus cette adresse .
Réponses: 4

Message Formule EXCEL Sumif + liste déroulante + plusieures pages
Bonjour à tous.Je ne suis pas certain d'être sur la bonne partie du forum, mais c'est ce qui m'a semblé le plus adéquat ^^"Alors, je vous explique ce dont j'ai besoin.Pour faire la compta de mon asso, j'ai un Excel sur 13 pages. 1 par mois +1 qui me ressort sur un tableau les recettes, dépenses ...
Réponses: 0


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.