Il y a actuellement 165 visiteurs
Mardi 30 Mai 2023
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: 403
Inscription: 09 Avr 2010 13:54
 



Sujets similaires

Message help 2 compte facebook piraté mail et mot de passe changé
Bonjour.Cela peut paraitre être une demande méchante et malveillante mais je vous assure que c'est juste pour récupérer mes comptes qui comportent les photos de mes petits enfants.facebook a bloqué mes compte pour usage inhabituel. et après un mois les compte sont revenu avec une autre photo un autr ...
Réponses: 3

Message Notification sonore reception mail
Bonjour,Est-il possible d'être averti par une notification sonore sur mon PC dès réception d'un mail reçu d'une personne précise sur une adresse mail préciseJe suis sous Windows 10 et j'utilise Firefox. Je lis mes mails sur le webmail de mon fournisseur d'accès.Merci d'avance pour l'aide que vous ...
Réponses: 2

Message Perte d'adresse mail secondaire
BonjourLe site mail de la poste me force à changer de mot de passe, sauf qu'il me demande une vérification par une adresse mail secondaire que je n'ai plus pour m'envoyer un code. Est-il possible de réinitialiser mon mot de passe sans passer par cette adresse mail secondaire ?Merci d'avance
Réponses: 2

Message Zone DNS : domaine chez gandi mais hébergement mail chez OVH
Bonjour, Actuellement, j'ai un nom de domaine qui est chez Gandi mais des serveurs de noms OVH sont utilisés, la gestion DNS se fait donc du coté d'OVH. Les e-mails sont hébergés chez OVH.J'aimerais réattribuer les serveurs de noms Gandi pour pouvoir manipuler la zone DNS depuis Gandi.Malgré les ser ...
Réponses: 0

Message comment envoyer 1000 mail?
bonjourmon asso a actuellement une adresse gmail et je suis limité par l envoi de 500 mails par jourscomment envoyer 1000 mail?merci pour votre aide!
Réponses: 1

Message adresse mail
Bonjour,Lorsque je demande une adresse mail a un vendeur/acheteur sur la messagerie leboncoin, l'adresse est marquée de mémoire "masqué pour votre sécurité" je ne sais plus trop.Est-il possible d'obtenir quand même l'adresse mail de cette personne.Cdty
Réponses: 1

Message Compatibilité Excel Windows 10
BonjourJ'ai commencé un document Excel contenant des macros avec Office 2007. Depuis, je suis passé à Office 2013 et j'ai un souci.Bien que le paramétrage soit correct, les macros s'ouvrent systématiquement sous Windows 10. Par contre, le fonctionnement est correct sous Windows 7 !Si quelqu'un peut ...
Réponses: 1


Qui est en ligne

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


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