Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

306xshdi

XLDnaute Nouveau
[RESOLU] Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

Bonjour,

J'ai trouvé 2 codes différents pour envoyer un mail automatiquement à un destinataire avec Lotus Notes 6.5. Les 2 fonctionnent mais malheureusement, chacun d'eux comporte un peu problème qui me dérange.

1ère Méthode:
Code:
Sub SendNotesMail() 

On Error Resume Next 


    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) 
    
    Set Session = CreateObject("Notes.NotesSession") 
    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.Subject = "Envoi Automatique ......" 
    MailDoc.body = "message....."
    MailDoc.SAVEMESSAGEONSEND = saveit 
    
    
    'Send the document 
    MailDoc.PostedDate = Now()  
    MailDoc.Send 0, "306xshdi@xxxxxxx.fr" 
    'Clean Up 
    Set Maildb = Nothing 
    Set MailDoc = Nothing 
    Set AttachME = Nothing 
    Set Session = Nothing 
    Set EmbedObj = Nothing 
End Sub

Le petit soucis de ce code est que Lotus doit être ouvert sur le PC concerné sinon Lotus se lance mais il faut saisir le mot de passe (donc ce n'est pas automatique)

2ème Méthode:
Code:
Private Sub UseLotus() 
    Dim Session As Object 
    Dim db As Object 
    Dim doc As Object 
    Dim rtitem As Object 
    Dim object As Object 
    Dim fs As Object 
    Dim Principaux(2) As String 
    Dim Copies(3) As String 
    Dim dir As Object 
    Dim inti As Integer 
    Dim passwd As String 
      
    On Error GoTo TraiteErreur 
    
    'Demande le password Lotus
    passwd = ".....mot_de_passe_à_renseigner........" 
    
        
    ' Création de la session Notes 
    Set Session = CreateObject("Lotus.NOTESSESSION") 
    
    'Ouverture d'une session NOTES 
    Call Session.Initialize(passwd) 
    Set dir = Session.GetDbDirectory("......nom_du_serveur_à_renseigner.......") 
    Set db = dir.OpenMailDatabase 


    Set doc = db.CreateDocument 
    Call doc.AppendItemValue("Form", "Memo")
    Call doc.APPENDITEMVALUE("Sendto", "306xshdi@xxxxxxx.fr") 
    Call doc.AppendItemValue("subject", "Envoi Automatique.....") 
    Call doc.AppendItemValue("body", "Message....") 
    doc.SAVEMESSAGEONSEND = saveit 
  
        
    Call doc.Send(True) 
    Set object = Nothing 
    Set rtitem = Nothing 
    Set doc = Nothing 
    Set db = Nothing 
    Set Session = Nothing 
    Exit Sub 
TraiteErreur: 
    MsgBox "Erreur Critique durant l'envoi .", vbCritical, "Error" 
    Set object = Nothing 
    Set rtitem = Nothing 
    Set doc = Nothing 
    Set db = Nothing 
    Set Session = Nothing 
    Set fs = Nothing 
End Sub

Le soucis de ce code est que l'envoi est automatique (mot de passe passé en VBA) mais lors de l'ouverture du mail chez le destinataire, il y a 5 fois l'erreur: "Un masque enregistré ne doit pas contenir de sous-masque calculés" (et le message s'ouvre ensuite)


Quelqu'un a t-il une solution pour passer le mot de passe en automatique( via le code VBA) avec la 1ère méthode ou formater correctement le message (pour ne plus avoir d'erreur à la lecture) avec la 2ème méthode ?

D'avance merci
 
Dernière édition:

muzomax

XLDnaute Nouveau
Re : Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

Bonjour,

En fait j'ai refait des test et tout fonctionne avec les $

j'avais juste oublier de mettre les "" dans le nom de ma feuille : Sheets("Mes")

Merci beaucoup en tout cas

ps: tu n'aurais pas une idée concernant les accusé de réception avec notes, j'ai essayer différentes façon trouvé sur le site aucune ne fonctionne

merci
 

bvalade

XLDnaute Nouveau
Re : [RESOLU] Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

Bonjour,

J'ai utilsé votre code pour faire un envoi automatique. Je ne connait pas le VBA, par contre j'aimerai (si c'est possible) que quand j'execute la macro il envoi une feuille excel en pièce jointe et que l'objet du message qoir le contenu concasser de 2 cellules.

Pouvez vous m'aider ?

Merci
 

matdemat

XLDnaute Nouveau
Re : Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

bonsoir

pour mettre un message j'utilise toujours cette combine très simple.
dans une feuille
je cré avec Dessin Zone de Texte que ne nomme par exemple "ZoneTexteMessage"
et j 'y entre tout le message. Avec autant de lignes et d'espaces que l'on veut.
et dans le code je récupère le message comme ceci:

Code:
NbrDeCar = Sheets(NomDeTaFeuil).Shapes("ZoneTexteMessage").TextFrame.Characters.Count
If NbrDeCar <= 255 Then
   Message$ = Sheets(NomDeTaFeuil).Shapes("ZoneTexteMessage").TextFrame.Characters.Text
Else
   Message$ = ""
   For Debut = 1 To NbrDeCar Step 255
     Message$ = Message$ & Sheets(NomDeTaFeuil).Shapes("ZoneTexteMessage").TextFrame.Characters(Debut, 255).Caption
   Next
End If

EDIT
je sais pas ou est ton message !?
mais supposons qu'il soit dans la Feuil1 en Col(A) sur 10 Lig
Message$ = ""
For Lig=1 to 10
Message$= Message$ & Sheets(TaFeuille).Cells(Lig, "A") & VbLf
Next

car on peut mettre un message de plusieurs lignes
en une seule variable et séparé avec VbLf (retour ligne)

Bonjour,

J'ai inséré ce code dans la macro et cela me récupère bien le texte. Par contre, ça ne me récupère pas la mise en page, ce qui est relativement génant ;) Auriez-vous une solution pour résoudre ce problème ?

Merci d'avance.
 

solonath

XLDnaute Nouveau
Re : Macro Excel pour Envoi mail automatique via Lotus Notes 6.5

Bonjour,

Tout d'abord, merci à tous pour vos contributions diverses qui m'ont permis avec très peu d'adaptation d'obtenir une petite macro toute simple d'envoi automatique de mail 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 ?
Quel code utiliser ?

D'avance merci
Nathalie
 

Discussions similaires

Réponses
6
Affichages
268
Réponses
17
Affichages
1 K