Envoi Mail en auto depuis Excel vers Outlook

Y compris Power BI, Power Query et toute autre question en lien avec Excel
t
tpierrat
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 20 juin 2018
Version d'Excel : 2016 FR

Message par tpierrat » 12 juillet 2018, 11:20

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 :D
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,

Nous vous informons que les appareils : [Variable1] [Variable2] que vous nous avez emprunté le [Date] ne nous ont pas été retournées.
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 :)
méthodelocation.xlsx
(11.51 Kio) Téléchargé 12 fois
  • Sujets similaires
    Réponses
    Vues
    Dernier message