Enoyer un mail sous Excel via Lotus Notes

Fermé
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 - 12 mars 2008 à 14:48
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 - 16 janv. 2014 à 21:36
Bonjour à Tous,

J’ai besoin d’envoyer par mail un classeur Excel (le classeur actif) via lotus note version 6.

J’ai fait une recherche sur le net et j’ai pratiquement trouvé mon bonheur, si si ca arrive.

J'ai trouvé cette macro ( elle suit juste derrière) permettant d'envoyer des mails via Lotus Notes à partir d'Excel.

Si quelqu’un peut m’aider à adapter et modifier ce code afin que je puisse :

 Remplir le sujet du mail,
 Mettre plusieurs destinataires du mail,
 Remplir un petit baratin dans le corps du message avec les éventuels RC (retour à la ligne).
 Es-ce qu’on peut renseigner quelque part l’émetteur du mail ?

D'avance merci pour votre aide.


Sub SendNotesMail()
'Set up the objects required for Automation into lotus notes
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession")
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'Open the mail database in notes
Set Maildb = Session.GETDATABASE("", MailDbName)
If Maildb.IsOpen = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.Sendto = Worksheets(3).Cells(2, 2).Value
MailDoc.CopyTo = "dgiry@technip.com"
MailDoc.Subject = Worksheets(3).Cells(1, 2).Value
MailDoc.Body = Worksheets(3).Cells(3, 2).Value
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = Worksheets(3).Cells(4, 2).Value
Attachment2 = Worksheets(3).Cells(5, 2).Value
Attachment3 = Worksheets(3).Cells(6, 2).Value
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If

'Send the document
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.Send 0, Recipient

'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub



J’ai fait une seconde recherche et j’ai trouvé ca pour les destinataires multiples.

Avec un tableau (Array), ca passe :

Code :

MailDoc.Sendto = Array(Worksheets(3).Cells(2, 2).Value, Worksheets(3).Cells(3, 2).Value)


ou si la cellule contient les adresses séparées par des virgules :

Code :

MailDoc.Sendto = Split(Worksheets(3).Cells(2, 2).Value, ",")



Je précise, je débute en Excel, et en macro et VBA je préfère même pas en parler (lol).

Merci encore d’avance pour votre aide.


Débutante-Excel
A voir également:

4 réponses

Voici ce que je changerais (le début est bien : tu as juste à le recopier)


'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.Sendto = "la tu mets l'adresse mail de ton correspondant" '(laisse les "")
MailDoc.CopyTo = "l'adresse de la personne en copie" '(laisse les "")
MailDoc.Subject = "la tu mets le sujet" '(avec des "")
' Construction du corps du message
Set objNotesField = MailDoc.CreateRichTextItem("Body")
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Ci-joint la situation." 'tu peux réjouter des lignes
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Martin DUPONT"
.AddNewLine 3
End With
MailDoc.SaveMessageOnSend = SaveIt
'Set up the embedded object and attachment and attach it
Attachment1 = "la tu mets le chemin d'acces complet de ton fichier excel.xls"
Attachment2 = "idem 2e fichier"
Attachment3 = "idem 3e ficher"
If Attachment1 <> "" And Attachment2 <> "" And Attachment3 <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment1")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment1, "Attachment1")
MailDoc.CREATERICHTEXTITEM (Attachment1)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment2")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment2, "Attachment2")
MailDoc.CREATERICHTEXTITEM (Attachment2)
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment3")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment3, "Attachment3")
MailDoc.CREATERICHTEXTITEM (Attachment3)
End If


et la fin est bien

Salut bonne chance
7
procedurette
31 juil. 2008 à 16:37
Bonjour,

Génial ce programme,
merci bcp.
3
Bonjour,

Ce programme ne fonctionne pas chez moi, fo t il installer une Références VBA Project Particulière ?

Merci bcp de votre aide,
0
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 3
16 janv. 2014 à 21:36
Bonjour,

je me permets de m'adresser à vous même si la discussion date depuis quelques temps. Mais je pense que vous connaissez la solution de mon problème qui est d'envoyer automatiquement le contenu d'excel via la messagerie Lotus Note.

En effet, je souhaiterais envoyer le contenu d'un fichier excel automatiquement via Lotus note après avoir cliquer sur un bouton.

voici à quoi ressemble mon fichier https://www.cjoint.com/c/DAqvFzpOIdo

Je vous remercie beaucoup pour votre partage.

Coridlament
1
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
12 mars 2008 à 19:22
re bonsoir tout le monde,

personne d'envoie des mails sous excel via lotus notes ??

me dites pas que je suis la seule ??

en plus là c'est pas un problème spécifique lotus notes loll

en faite c'est que j'y comprends rien au VBA alors dur dur d'adapter le code.

merdi de votre aide.

bonne soirée.
0
manucz Messages postés 2 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 15 mars 2011
15 mars 2011 à 10:46
Bonjour,
Je sais que ces échanges dates un peu néanmoins je pose une question on ne sait jamais si quelqu'un a la réponse !
J'utilise ce code mais je souhaiterai maintenant mettre plusieurs destinataires. quand j en reseigne plusieurs en séparant par des virgules cela ne fonctionne pas. Enfin il ne l'envoi qu'a la 1ere adresse et semble s'arreter au @ de la 2eme. Avez-vous l'astuce ??
Merci d'avance
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
15 mars 2011 à 10:55
Avez-vous essayé avec des points virgules ?

Michel
0