Comment créé un alerte mail dans un tableau excel
Bruaxo123
Messages postés
4
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour, pour mon boulot je rentre dans un tableau Excel des dates de validité de Permis de conduire,CACES, FCO Etc.
Comment faire pour qu'un mail me soi envoyé 3 mois avant la date de validité du permis
Merci d'avance
Comment faire pour qu'un mail me soi envoyé 3 mois avant la date de validité du permis
Merci d'avance
1 réponse
-
Bonjour,
Code pour envoi @Mail en auto via Outlook, a vous de mettre la bonne colonne et voir pour la colonne ou ecrire le @ pour memoriser que l'envoi a ete deja fait pour cette date
Si vous voulez l'envoi a l'ouverture du fichier, faire un appel de cet procedure dans le VBA de ThisWorkbook avec ceci:
Private Sub Workbook_Open()
Envoidu_MailAutomatique
End Sub
code a mettre dans un module:Sub Envoidu_MailAutomatique() On Error Resume Next ' Envoie automatiquement le mail a trois mois de la date de validite du permis de conduire, Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro Dim Plage_DL As Range Dim cel As Range 'Plage de cellules date a tester ici colonne A With Worksheets("feuil1") derlig = .Range("A" & Rows.Count).End(xlUp).Row 'derniere cellule non vide Set Plage_DL = .Range("A2:A" & derlig) 'definition plage en memoire End With 'on fait la boucle plage date livraison For Each cel In Plage_DL 'DateDiff("m", Now, cel) instruction calcul difference de dates en mois If DateDiff("m", Now, cel) >= 3 And IsDate(cel) And cel.Offset(, 2) = Empty Then cel.Offset(, 2) = "@" 'ecriture ici colone B, d'un @ pour eviter envois multiples pour une meme date Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) 'contenu message a adapter Contenu = "" strbody = Contenu With OutMail .To = "xxx@gmail.com" 'adresse destinataire '.CC = "" 'copie '.BCC = "" 'copie cachee (Blind Carbon Copy en Anglais) .Subject = "Sujet du @mail" .Body = strbody 'corps du @mail 'Piece-Jointe si besoin '.Attachments.Add ("C:\test.txt") '.Display 'ouvre Outlook pour valider ou non l'envoi 'or use .Send 'sans ouverture Outlook, envoi direct End With End If 'attente envoi @Mail par Outlook Application.Wait Application.Wait(Now + TimeValue("0:00:01")) Set OutMail = Nothing Set OutApp = Nothing Next cel On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub-
-
merci f894009 pour ta réponse,
mais malgré ton programme je ne comprend pas tout il y as dans ce que tu a noter en vert des phrase que je ne comprend pas (on fait la boucle plage date livraison.?).('Déclaration de variable "L" pour connaitre la Ligne Numéro.??) je n'ai pas les bases de ce language, donc c'est compliqué
en clair dans quel colonne mettre la date déchéance du permis, faut t'il sélectionner une cellule avant d'aller dans le visual basic, etc..
pour noter l'adresse du destinataire j'ai compris,même le destinataire en copie l'heure d'envoie du mail
encore un peu d'aide me serai nécessaire.
merci encore- Bonjour,
Vous devez adpter la co!bonne date, dans mon exemple c'est la colonne À.
Il faut une colonne pour mémoriser que l'alerte à été envoyée, colonne C dans l' ex.
Vous avez tout pour, qu'à l'ouverture du classeur, la vérification dates se face avec envoi @mali.
Maintenant, si vous voulez, mettez votre fichier à disposition sans données sensibles et je vous ferai les modifs.
C'est vous qui voyez..........
À+
-
-