Mail automatique via Acces vers Lotus Notes

Fermé
Leepao Messages postés 3 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 21 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