XL 2010 Macro d'envoi de mail pour Lotus Notes - Pb à partir de 7 destinataires

Xavier CG

XLDnaute Nouveau
Bonjour à tous,

J'essaie d'adapter une macro initialement pour Outlook, afin qu'elle fonctionne sur Lotus Notes.
Cela fonctionne plutôt bien, sauf lorsque j'ai plus de 6 destinataires.

A partir du 7e destintaires, Lotus ne "retient" dans le champ des destintaires, que le 1er et encore, il l'a tronqué à partir de l'@

Si ma chaîne de destinataires était :
aaa@aaa.fr, aaa@aaa.fr, aaa@aaa.fr, aaa@aaa.fr, aaa@aaa.fr, aaa@aaa.fr, aaa@aaa.fr

Elle devient :
aaa

Le code que j'utilise :
1- Initialisation de la liste des destinataires
Code:
For i = 1 To NbParticipants
 
  emailsTo = emailsTo & ";" & listParticipant(2, i)

Next i
A noter : listparticipant est un simple tableau contenant les emails

2- Fonction d'envoi du mail
Code:
Function SendlotusEmail(nMailRecipient, nmailcc, nmailsubject, nmailbody)
    
   
    Dim nMail As Object
   
    Dim nSession As Object
    Dim nDatabase As Object
    Dim nMime As Object
    Dim nMailStream As Object
    Dim nChild As Object
    Dim amountOfRecipients As Integer
    
   
    Set nSession = CreateObject("Notes.NotesSession")
    Set nDatabase = nSession.GetDatabase("", "")
    Call nDatabase.OPENMAIL
    Set nMail = nDatabase.CreateDocument
   
    nMail.SendTo = nMailRecipient
    nMail.Subject = nmailsubject
    nMail.CopyTo = nmailcc
    'nMail.BlindCopyTo = nmailcci
   
    nSession.ConvertMIME = False
    Set nMime = nMail.CreateMIMEEntity
    Set nMailStream = nSession.CreateStream
   
    Call nMailStream.WriteText(nmailbody)
   '
   
    Set nChild = nMime.CreateChildEntity
    Call nChild.SetContentFromText(nMailStream, "text/html;charset=iso-8859-1", ENC_NONE)
    Call nMailStream.Close
    nSession.ConvertMIME = True
    Call nMail.Save(True, True)
    'Make mail editable by user
    CreateObject("Notes.NotesUIWorkspace").EDITDOCUMENT True, nMail
    'Could send it here
End Function

Quelqu'un aurait une idée ?
Merci par avance pour votre aide.
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Xavier et bienvenue sur XLD :)

Personnellement j'utilise Outlook, et d'après la boucle For les adresses mails sont dans chaque colonne, c'est bien ça?. Mais pour une aide plus éfficace, je t'invite à mettre un fichier joint. Sinon, il faut la modifier comme ceci

For i = 1 To NbParticipants
emailsTo = emailsTo & listParticipant(2, i) & ";"
Next i
 

Xavier CG

XLDnaute Nouveau
Bonjour Lone-Wolf,

Merci de ta réponse.
C'est compliqué de mettre un fichier, car c'est une macro au milieu d'un gros fichier.

Le fichier construit effectivement le tableau avec les emails et ensuite on parcourt ce tableau pour remplir la variable qui servira à alimenter les destinataires.

La modification suggérée permet, si j'ai bien compris, ne pas avoir le ; avant le 1er email.
J'ai retesté (je l'avais tenté autrement) et cela ne résout pas le problème.

Sur Outlook, le code actuel fonctionne parfaitement, quelque soit le nombre de destinataires (je suis monté à 21).
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 376
dernier inscrit
marionromeo