VBA Mail Lotus

larelik

XLDnaute Nouveau
Bonjour à tous,
c'est mon premier mail sur le forum et j'espere que vous pourrez m'aider (je suis un débutant sur vba).

voila mon pb,
je viens de changer d'entreprise et je voudrais recréer un fichier d'envoi de mail que j'avais dans la précédente. mon probleme étant que j'avais avant outlokk et que la j'ai lotus que je n'ai jamais uilisé.

Je vous explique:
chaque mois je dois vérifier sur une cinquantaine de pays si il y a des écarts. si il y a des écarts, j'envoi un mail leur demandant des explications. cependant si je dois créer un mail, rajouter les destinataires, les personnes en copie, changer le titre, copier coller le texte...le tout pour cinquante pays, je vais y passer ma journée!

Sur Outlook nous avions créée une macro qui nous crée directement un mail, avec lorsque l'on selectionnait un pays, nous rajoutait les destinaires, le corps de texte...


voila la macro que j'utilisais avec outlook;

Sub Mail()

Dim OngletListeMail
Dim Colonne As Integer
Dim L As Integer
Dim L2 As Integer
Dim FichierMail
Dim NomFichier
Dim NomDestinataire
Dim NomDestinataire2
Dim Nommacro
Dim PathResult As String
Dim AttachFichier As String
Dim body As String
Dim datejour As String
Dim moisResult As String
Dim An As String
Dim reponse As Integer


NomDestinataire = Sheets("RET").range("B18").Value

NomDestinataire2 = Sheets("RET").range("B19").Value

NomFichier = Sheets("RET").range("B21").Value

body = Sheets("RET").range("B23").Value

'creation du message
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(0)
With objOutlookMsg
.To = NomDestinataire
.Cc = NomDestinataire2
.display 'affiche le message
.Subject = NomFichier
.body = body ' ecrit le corps du message

End With


Set objOutlookMsg = Nothing
Set objOutlook = Nothing

End Sub


J'ai essayé de chercher des solutions sur le forum et sur d'autres mais a chaque fois ca ne fonctionnait pas.

Pouvez vous m'aider?

merci beaucoup
 

larelik

XLDnaute Nouveau
Re : VBA Mail Lotus

Non personne?

j'ai trouvé ca sur internet qui devrait a priori faire la meme chose, sauf que ca ne fonctionne pas....(apres l'ouverture de lotus il ne se passe rien...)

'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(RET).Cells(B,18).Value"
MailDoc.CopyTo = "Worksheets(RET).Cells(B,19).Value"
MailDoc.Subject = "Worksheets(RET).Cells(B, 21).Value"
MailDoc.body = "Worksheets(RET).Cells(B, 23).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



help????
 

Roland_M

XLDnaute Barbatruc
Re : VBA Mail Lotus

bonjour

si ceci peut t'aider !
personnellement je n'ai pas lotus et ne saurais t'aider !
mais je sais que ceci fonctionne !
 

Pièces jointes

  • EnVoiMail Lotus2.xls
    44.5 KB · Affichages: 273
  • EnVoiMail Lotus2.xls
    44.5 KB · Affichages: 294
  • EnVoiMail Lotus2.xls
    44.5 KB · Affichages: 292

larelik

XLDnaute Nouveau
Re : VBA Mail Lotus

Parfait tu me sauves la vie!!!

petite question supplémentaire: je voudrais rajouter un fichier dans le mail
(pour chaque pays je dois ajouter dans le mail un fichier précis). Sais tu comment faire avant que le mail ne parte?

Je me doute que ca doit etre dans ce paragraphe:

'Joint le Fichier s'il y a !?
If CheminEtFichier <> "" Then
Set AttachME = Document.CreateRichTextItem("Attachment")
Set AttachF1 = AttachME.EmbedObject(1454, "", CheminEtFichier, "Attachment")
End If

mais ou exactement? (dslé je suis vraiment nul...)
 

Roland_M

XLDnaute Barbatruc
Re : VBA Mail Lotus

bonsoir

Tu n'as pas à modifier le code !

Il suffit de cliquer sur le bouton "Chemin Fichier" qui est sur la feuille
et tu sélectionnes ton fichier dans un répertoire
le chemin et le nom du fichier que tu auras sélectionné se colleront automatiquement sur la feuille
et le fichier sera inclus automatiquement quand tu cliqueras sur "Envoyer"
 
Dernière édition:

larelik

XLDnaute Nouveau
Re : VBA Mail Lotus

Merci bp ta macro fonctionne tres bien.
J'ai juste un petit soucis. Lorsque je veux mettre deux personnes en destinataire, Lotus ne comprend plus et aucun des deux ne recoit de mail.
ex: Martin.dupont@gmail.com, Louis.Marc@Gmail.com

Par contre si jamais je n'en met qu'un seul, cela marche.

J'ai essayé en mettant un point virgule entre les deux adresses. Mais dans ce cas, chacun recoit un mail séparé, et il n'y a plus de chaine possible.
 

Discussions similaires

Réponses
2
Affichages
353
Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 763
Messages
2 091 838
Membres
105 077
dernier inscrit
Airnee