Leepao
Messages postés3Date d'inscriptionmardi 18 mai 2010StatutMembreDernière intervention21 mai 2010
-
Modifié par Leepao le 21/05/2010 à 16:27
Bonjour,
Je travaille actuellement sur un projet dont le but est de concevoir un outil informatique capable de gérer les tâches d'une entreprise. Chaque lundi (ou mardi si le logiciel n'est pas ouvert le lundi), un mail est automatique envoyé via le logiciel Lotus Notes à toutes les personnes qui ont des tâches en retard.
Pour vous expliquer vite fait le programme, à l'ouverture de mon formulaire qui contient toute la liste des tâches, se déclenche ce bout de code qui va suivre.
D'abord sont automatiquement triées les tâches en retard parmi toutes les tâches (contenu dans une table), ensuite on récupère les adresses mails des utilisateurs qui sont en retard (adressemail est un champ de la table "Tâches").
Les adresses mails sont donc mis à la suite dans une variable appelée "listeAdresseMail" qu'on obtient sous cette forme : listeAdresseMail = <abc@xx.com>, <def@yy..com>, <ghi@zz.com>
"listeAdresseMail" est ensuite défini pour être le nom des destinataires à qui envoyer le mail.
Tout fonctionne bien mais l'envoie de mail ne s'effectue pas, je m'explique, ces mails sont envoyés avec ma session Lotus Notes, or je reçois un Avis de non-distribution comme ceci :
Votre document : test9
n'a pas été distribué à : <def@yy.com>, <ghi>@zz.com>
Donc déjà la première adresse a disparu mais ça c'est pas grave, le plus grave, c'est qu'il m'intercale systématiquement un ">" dans l'adresse ghi>@zz.com.
Maintenant lorsque je clique sur "renvoyer" dans lotus Notes, comme par magie le ">" disparaît et l'envoi de mail s'effectue aux deux utilisateurs. J'ai affiché par msgbox le contenu de "listeAdresseMail" et je ne vois pas d'où sort ce satané ">" !
Je n'ai malheureusement trouvé aucun cas similaire au mien et demande votre aide.
J'ai essayé toutes les syntaxes possibles mais rien n'y fait..
Merci d'avoir prêté attention à mon sujet, voici le code "simplifié" de ma fonction pour vous éclaircir. ;)
Public Sub MailActionRetard()
'______________________________
' Déclaration variables
'------------------------------
Dim listeAdresseMail As String
Dim nbenr As Integer
Dim i As Integer
DoCmd.GoToRecord , , acFirst 'on se place sur le 1er enregistr
nbenr = Screen.ActiveForm.Recordset.RecordCount 'on compte nb enregistrement
'__________________________________________________________________
' Récupération des adresses mail des utilisateurs en retards
'------------------------------------------------------------------
'La liste des adresses mail des utilisateurs qui recevront le rappel est appelé "listeAdresseMail"
For i = 1 To nbenr - 1
If i = 1 Then
listeAdresseMail = "<" & adressemail & ">"
Else
If listeAdresseMail Like "****" & adressemail & "****" Then
listeAdresseMail = listeAdresseMail
Else
listeAdresseMail = listeAdresseMail + " , " + "<" & adressemail & ">" 'ajoute les adresses les une à la suite des autres
End If
End If
DoCmd.GoToRecord , , acNext
Next
__________________________________________________
' Envoi Mail + Ouverture Lotus Notes
'-----------------------------------------------------
If listeAdresseMail <> "" Then 'Si la liste n'est pas vide alors on à l'ouverture de Lotus + envoi mail
Dim Maildb As Object 'La base des mails
Dim UserName As String 'Le nom d'utilisateur
Dim MailDbName As String 'Le nom de la base des mails
Dim MailDoc As Object 'Le mail
Dim AttachME As Object 'L'objet pièce jointe en RTF
Dim Session As Object 'La session Notes
Dim EmbedObj As Object 'L'objet incorporé
Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)
If Not Maildb.ISOPEN Then Maildb.OPENMAIL
Subject = "test9"
Recipient = listeAdresseMail
BodyText = "Bonjour,"
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.CopyTo = ccRecipient
MailDoc.BlindCopyTo = bccRecipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End If
End Sub