Il y a actuellement 66 visiteurs
Mardi 11 Août 2020
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: 381
Inscription: 09 Avr 2010 13:54
 



Sujets similaires

Message [Réglé] reception mail
Bonjour,J'ai du cliquer sur quelque chose qu'il ne fallait pas car depuis 2/3 jours je reçois plein de mail " Postmaster@outlook.com"Je n'utilise pas Outlook.Comment éviter cela?.Cdt
Réponses: 16

Message Connexion yahoo mail avec Firefox
Bonjour à tous,Le problème est le suivant : depuis plusieurs jours, sans que j'aie rien modifié, chaque fois que je veux consulter ma messagerie yahoo, je dois entrer mon adresse mail et mon mot de passe pour m'y connecter.Suis sous Windows 10 Pro version 1903 avec navigateur Firefox à jour.Précisio ...
Réponses: 5

Message [réglé] DATE SE DEREGLE
Bonjour,Mon pc ne garde pas la date du jour, aussi bien au démarrage, qu'après mise en veille.J'ai ,changé 3 fois de pile.Le service temps Windows est OKLe temps internet est OKQue faire?
Réponses: 9

Message boite mail
Bonjour je suis chez orange, la boite mail d'orange est un calvaire, je voudrais crée une nouvelle adresse mail ailleurs (ça ne me pose aucun problème de changer) je ne sais ou aller, pour une boite gratuite, si vous avez une idée ? merci
Réponses: 5

Message Windows live mail avec Windows 10
Bonjour, j'ai depuis un an l'impossibilité d'enlever entièrement windows live mail sur windows 10. Je n'ai plus rien dans Programme et programme files et quand j'essais de réinstaller windows essential cela me génère une erreur et me dit qu'il est impossible de l'installer car l'ancienne version est ...
Réponses: 27

Message boite mail
bonjour Je voudrais savoir quel est la meilleur boite mail pour vous . Je suis sur Gmail mais je rencontre des problèmes . Je n'arrive pas a lire les Mp4 sans les télécharger et ça m'ennuis .
Réponses: 2

Message parametrage boite mail orange
Bonjours j'aimerai savoir si je peux avoir plusieurs carnets d'adresses dans une boite mail orange et comment dois je m'y prendre svp ? Et si ce n'est pas possible, est ce que en rajoutant un carnet d'adresse (fichier CSV) à celui existant, il va l'écraser où se rajouter ? Merci.
Réponses: 2


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


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