Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  VB - VBA

  VBA: Envois d'un email à partir d'un menu déroulant

Bas de page
Auteur Sujet :

VBA: Envois d'un email à partir d'un menu déroulant

n°20264
Lionel921
Profil : Jeune recrue
Posté le 26-09-2012 à 18:21:42  
 

Bonsoir à tous,
 
Voilà j'ai  un fichier fichier VBA qui me permet d'envoyer des emails à partir de LotusNote.  
Auparavant ce fichier était lié à un bouton, qui lorsqu'on cliquait dessus envoyer dircetement un email à partir d'une seule et même cellule.? Cela fonctionnait parfaitement.
 
Mais voilà mon fichier excel qui se compose de près de 1000 lignes dispose d'une adresse mail par ligne. J'avais pensé dupliquer le bouton en face de chaque ligne de mon fichier Excel à laquelle correspond une adresse mail. L'idée aurait été d'envoyer un mail un une personne au choix rine qu'en cliquant sur le bouton figurant en face de son nom. Mais voilà ....je ne sais pas comment modifier mon fichier VBA dans ce sens....
 
Alors je me suis dit que je pouvais peut être y arrivé à partir d'une liste d'emails figurant dans un menu déroulant, un message serait directement expedié dès lors qu'une adresse serait  sélectionnée.
 
Voilà le fichier VBA tel qu'il existe à l'heure actuelle:
 
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 Thenhttp://forum.rue-montgallet.com/icones/message/icon17.gif
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CreateDocument
MailDoc.Form = "Memo"
MailDoc.Sendto = Range("k4" ).Value   ==> Je crois que c'est ici que doit s'operer le changement mais je n'y arrive pas !!!
MailDoc.Copyto = "l'adresse de la personne en copie" '(laisse les "" )
MailDoc.Subject = Range("C4" ).Value
MailDoc.ReturnReceipt = "1"
' Construction du corps du message
Set objNotesField = MailDoc.createRichTextItem("Body" )
With objNotesField
.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Ci-joint accusé récéption de votre demande." 'tu peux réjouter des lignes
.AppendText "texte"
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "LL"
.AddNewLine 3
End With
'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 passé toute la journée sur les forums mais je n'ai rien trouvé ....
 
Quelqu'un aurait il une solution qui me permettrait d'ameliorer mon fichier ?
 
Merci d'avance,
 
Lionel

mood
Pub
Posté le 26-09-2012 à 18:21:42  
 

  FORUM Rue-Montgallet.com
  Programmation
  VB - VBA

  VBA: Envois d'un email à partir d'un menu déroulant

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés