Envoi Mail en auto depuis Excel vers Outlook

Bonjour,

Je vous sollicite aujourd'hui parce que je galère en VBA mais j'ai toujours envie de réaliser des truc en automatique

Je vous explique ma situation :

  • Je possède un fichier Excel de plusieurs lignes dont la quantité va augmenter avec le temps.
  • On loue des appareils, du coup il y a une date de sortie et une date de retour
  • Je calcul les retards exprimés en jours.
  • J'aimerai mettre en place une procédure, qui permettrait d'envoyer un mail sur la messagerie OUTLOOK à la personne de mon choix, indiquant que tel appareil n'est pas revenu.
  • La condition est que : si retard>3 jours il faut envoyer le mail à la ou les personnes souhaitées.
  • Pour aller plus loin encore : j'aimerai que le mail soit envoyé à celui qui a emprunté l'appareil. Ce qui signifie que l'email va varier. Ainsi est-il possible de mettre en place un système de variables qui permettrait de personnifier l'email ?

Exemple :

"Bonjour Madame, Monsieur,

Ceci est un mail automatique ne nécessitant pas de réponse"

les variables entre [ ] viendraient chercher l'info dans la ligne excel concernée.

De plus, j'ai mis dans mon fichier Excel une mise en forme conditionnelle appliquée à tout le tableaux. Dès que le retard > 3 jours la ligne se met en orange.

Et pour être parfait, il y a une deuxième condition où cette fois la ligne passe en rouge si retard > 10 jours par exemple.

J'ai effectuée quelques recherches et voici ce que j'ai trouvé :

Demande ============>

J'essaie de faire une macro qui me permet d'envoyer automatiquement un mail via Outlook, je suis tombé dans mes recherches sur l'idée de créer un Objet Outlook depuis excel, quelqu'un pourra m'aider à ce sujet ?

Réponse ============>

Demande initiale :

Sub SendEmail()

'

' SendEmail Macro

'

'

Dim olApp As Outlook.Application

Set olApp = CreateObject("outlook.application")

Dim olMail As Outlook.MailItem

Set olMail = olApp.CreateItem(olMailItem)

With olMail

.To = "xxx@yy.com"

.CC = "zzz@yy.com"

.Subject = " reporting " & Format(Date - 1, "dd-mm-yyyy")

.Body = Range("A1").Value & vbCrLf _ ' le fichier comportant la macro devrait avoir les données du corps du mail dans les cellules A1...A4

& Range("A2").Value & Format(Date - 1, "dd-mm-yyyy") & " ." & vbCrLf & vbCrLf _

& Range("A3").Value & vbCrLf & vbCrLf _

& Range("A4").Value

.Attachments.Add "X:\Reporting.xls"

.send

End With

End Sub

Amélioration code ================>

.To = "xxx@yy.com"

.CC = "zzz@yy.com"

.Subject = " reporting " & Format(Date - 1, "dd-mm-yyyy")

.Body = Range("A1").Value & vbCrLf & Range("A2").Value & Format(Date - 1, "dd-mm-yyyy") & " ." & vbCrLf & vbCrLf _

& Range("A3").Value & vbCrLf & vbCrLf _

& Range("A4").Value

'le fichier comportant la macro devrait avoir les données du corps du mail dans les cellules A1...A4

.Attachments.Add "X:\Reporting.xls"

Je vous remercie de l'aide éventuelle que vous pourrez m'apporter. A bientôt ou à tout de suite

Rechercher des sujets similaires à "envoi mail auto outlook"