Bonjour,
Tout d'abord, merci à tous les contributeurs grâce à qui je suis parvenue avec très peu d'adaptation à obtenir une petite macro toute simple d'envoi automatique de mail Lotus avec pièce jointe.
Question subsidiaire : si je souhaite non pas les envoyer automatiquement mais les enregistrer en brouillon pour contrôle avant envoi, comment dois-je faire ?
Je suis partie du code ci-dessous, fourni par Roland_M dans la discussion suivante :
https://www.excel-downloads.com/thr...-mail-automatique-via-lotus-notes-6-5.105483/
Mais j'ai beau chercher, je ne suis pas parvenue à trouver sur le forum comment coder l'enregistrement en brouillon dans Lotus Notes sans envoi automatique.
D'avance merci de votre aide.
Nathalie
Tout d'abord, merci à tous les contributeurs grâce à qui je suis parvenue avec très peu d'adaptation à obtenir une petite macro toute simple d'envoi automatique de mail Lotus avec pièce jointe.
Question subsidiaire : si je souhaite non pas les envoyer automatiquement mais les enregistrer en brouillon pour contrôle avant envoi, comment dois-je faire ?
Je suis partie du code ci-dessous, fourni par Roland_M dans la discussion suivante :
https://www.excel-downloads.com/thr...-mail-automatique-via-lotus-notes-6-5.105483/
Mais j'ai beau chercher, je ne suis pas parvenue à trouver sur le forum comment coder l'enregistrement en brouillon dans Lotus Notes sans envoi automatique.
D'avance merci de votre aide.
Nathalie
Code:
' --------- Envoi d'un mail avec Lotus Notes ---------- .
'Ajouter la référence Lotus Domino Objects (domobj.tlb) .
'Cocher Référence [x]Lotus Domino Objects .
Public Sub RoutineEnvoiMailLotus()
Application.ScreenUpdating = False
'------- compléter les variables nécessaires pour envoi --------------
AdresDestinataire$ = "??????" 'si plusieurs adresses séparer par le point virgule !
Sujet$ = "????????" ' sujet
Message$ = "??????" ' message
Fichier$ = "??????" ' "NomDuFichier.xls"
Chemin$ = "???????" ' chemin du fichier exp: = ThisWorkbook.Path
If Chemin$ > "" And Right(Chemin$, 1) <> "\" Then Chemin$ = Chemin$ & "\"
CheminEtFichier$ = Chemin$ & Fichier$
'------ départ envoi messagerie --------
'met en tableau si plusieurs adresses !?
If InStr(AdresDestinataire$, ";") = 0 Then AdresDestinataire$ = AdresDestinataire$ & ";"
Dim TabloAdresDestin As Variant
TabloAdresDestin = Split(AdresDestinataire$, ";")
'------ préparation session ------
On Error GoTo ErreurNET: Err.Clear
Dim oSession As Object 'CreateObject("Notes.NotesSession")
Dim UserName As String 'Nom d'utilisateur
Dim DataBase As Object 'Base des mails
Dim DataBaseName As String 'Nom de la base
Dim Document As Object 'Mail
Dim AttachME As Object 'Fich joint en RTF
Dim AttachF1 As Object '1' pièce attachée
' Création de la session
Set oSession = CreateObject("Notes.NotesSession")
' Récupèration du nom d'utilisateur
UserName = oSession.UserName
DataBaseName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
' Ouvre la base des mails (si fermé, ouvre et demande le password)
Set DataBase = oSession.GetDataBase("", DataBaseName)
If Not DataBase.IsOpen Then DataBase.OpenMail
' boucle envoi au(x) destinataire(s)
For I = LBound(TabloAdresDestin) To UBound(TabloAdresDestin)
If Trim(TabloAdresDestin(I)) > "" Then
AdresDestinataire$ = TabloAdresDestin(I)
'crée le document et colle /AdresDestinataire /Sujet /Message
Set Document = DataBase.CreateDocument
Document.Form = "Memo"
Document.Sendto = AdresDestinataire$
Document.Subject = Sujet$
Document.Body = Message$
'Joint le Fichier s'il y a !?
If CheminEtFichier$ <> "" Then
Set AttachME = Document.CreateRichTextItem("Attachment")
Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
End If
'Envoi le Mail
Document.SaveMessageOnSend = True 'True = save dans les courriers envoyés
Document.PostedDate = Now() ' date du jour
Document.Send 0, AdresDestinataire$ 'envoi
'reinit adresse suivante !?
Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
End If
Next
GoTo FinMail ' fin ########################################################
ErreurNET:
Msg$ = "Erreur " & Err.Source & " No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
GoTo FinMail
FinMail:
'libère les variables Object
Set oSession = Nothing: Set DataBase = Nothing
Set Document = Nothing: Set AttachME = Nothing: Set AttachF1 = Nothing
On Error GoTo 0: Err.Clear
Application.ScreenUpdating = True
End Sub