1 pièce(s) jointe(s)
Envoi de mail à date limite
Bonjour à tous,
avant de me décider à poster et demander votre aide, j'ai tout de même éplucher les différents sujets ayant été traité notamment:
http://www.developpez.net/forums/d13...nction-d-date/
http://www.developpez.net/forums/d10...59-80004005-a/
dont je me suis fortement inspiré je ne le cacherai pas!
Je cherchais à créer un fichier d'envoi de mail automatique (chaque lundi) et à la demande via bouton.
à partir des codes trouvés sur ce forum j'ai donc réalisé un classeur composé de 2 feuilles:
-l'un servira d'index pour remplissage
-tandis que l'autre servira pour le calcul et sera masquée.
l'outils passe par MicrosoftOutlook, bien entendu l'adresse mail renseigné ne correspond pas à celles qui seront utilisées.
Ce code à été testé avec une adresse mail outlook mais lors du test d'envoi de mail, il s'avère que la commande ".send" ne fonctionne pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Sub Alertes()
Dim B As Range, OL As Object, M As Object, Plage As Range
Set olApp = CreateObject("Outlook.application")
With Sheets("Service technique2")
Set Plage = .Range(.[H4], .Cells(.Rows.Count, 1).End(xlUp))
End With
For Each B In Plage
If B.Offset(, 5) - Date <= 70 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Alerte fin de validité d'habilisation BR"
.Body = B.Offset(, 19)
.Recipients.Add B.Offset(, 20)
.send
End With
End If
If B.Offset(, 8) - Date <= 70 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Alerte fin de validité Caces"
.Body = B.Offset(, 19)
.Recipients.Add B.Offset(, 20)
.send
End With
End If
If B.Offset(, 11) - Date <= 70 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Alerte fin de validité Formation SST"
.Body = B.Offset(, 19)
.Recipients.Add B.Offset(, 20)
.send
End With
End If
If B.Offset(, 14) - Date <= 70 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Alerte fin de validité Formation CHSCT"
.Body = B.Offset(, 19)
.Recipients.Add B.Offset(, 20)
.send
End With
End If
If B.Offset(, 17) - Date <= 70 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Alerte fin de validité FIMO - FCO"
.Body = B.Offset(, 19)
.Recipients.Add B.Offset(, 20)
.send
End With
End If
Next B
End Sub |
j'insiste sur le fait que j'ai planché dessus, mais le problème dépasse mes compétences.
Vous trouverez en pièce jointe le fichier.
Si une âme charitable pouvez me venir en aide ca serait top!
Par avance merci.
Oncle Ben