Bonjour à tous,
j'ai un code qui permet d'envoyer automatiquement des Emails à l'ouverture d'un formulaire. ce code fonctionne admirablement bien (et je ne remercierais jamais assez la personne qui me l'a fourni)
Ca fonctionne même un peu trop bien! Car les mails partent à chaque ouverture du formulaire au risque de lasser (voir d'agacer!! ) les destinataires qui pourraient à très court terme me faire ma fête si je continue à leur pourrir leur boite de 50 mails identiques par jour!
J'ai donc essayer d'améliorer les choses en incluant dans ma table (à partir de laquelle est bâtie ma requête) un champ vrai faux qui est "faux" par défaut et que je voudrais automatiquement passer à "Vrai" lors de l'envoie du mail ce qui conditionnerais la condition de blocage lors d'une seconde ouverture de formulaire (le champ Envoi1 est "Faux" = envoi de mail, le champ Envoi1 est "Vrai" pas d'envoi...)
Pour cela j'ai le code si dessous mais je n'arrive pas à trouver la bonne syntaxe pour arriver à mes fins... Quelqu'un pour m'aider?
Merci beaucoup pour une aide que je sais déjà précieuse.
A vous lire
Angelinu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
55
56
57
58
59
60
61 Private Sub Form_Open(Cancel As Integer) Dim Listerappel1Bis As String Dim Listerappel1 As String Dim ThemForm1 As String Dim CheckEnvoi1 As String '(variable pour mon champ Vrai/faux) Dim MonMessage As String, MonSujet As String Set Rappel1 = CurrentDb.OpenRecordset("R_120_118joursRenouveler") Rappel1.MoveFirst With Rappel1 MonMessage = "La formation ou habilitation citée en sujet de ce mail expirera dans moins de 3 mois veuillez prendre contact avec votre hiérarchie et le service formation pour programmer une session de recyclage. ceci est un message automatique merci de ne pas y répondre." While Not Rappel1.EOF Listerappel1 = Rappel1("AdresseSalarie") Listerappel1Bis = Rappel1("AdresseHierarchie") ThemForm1 = Rappel1("NomTheme") CheckEnvoi1 = Rappel1("Envoi1") 'Envoi1 nom de mon champ Vrai/Faux dans ma table If Listerappel1 = "" Then Resume Next ElseIf CheckEnvoi1 = 0 Then 'J'ai essayé aussi avec les propriétés True en False mais cela me renvoie toujours une erreur Resume Next Else Call EnvoieMail_Angelinu(Listerappel1, Listerappel1Bis, ThemForm1, MonMessage) CheckEnvoi1 = 1 'Passage de la valeur Faux à la valeur Vraie pour bloquer les envoie ultérieur Rappel1.MoveNext End If Wend End With Rappel1.Close Set Rappel1 = Nothing 'Procédure d'envoie des Emails Sub EnvoieMail_Auto(ByVal Aqui As String, ByVal EnCopie As String, ByVal LeSujet As String, ByVal LeMessage As String) Dim EnvoiOutlook1 As Object Dim MailOutlook1 As Object Set EnvoiOutlook1 = CreateObject("Outlook.Application") Set MailOutlook1 = EnvoiOutlook1.createitem(0) With MailOutlook1 .To = Aqui .CC = EnCopie .Subject = LeSujet .Body = LeMessage .display End With Set EnvoiOutlook1 = Nothing Set MailOutlook1 = Nothing End Sub
Partager