Envoi d'un tableau par Lotus Notes via Excel

dysnox

XLDnaute Nouveau
Bonjour à toutes et à tous !

Je me permets de venir quémander votre aide car je suis au bout du bout concernant une mission sur laquelle j'ai été placé, or je dispose de très peu de connaissance théoriques d'excel, j'ai appris sur le tas à gérer les macros quotidiennes que j'ai mis en place dans divers fichier.

Cette semaine le nouveau défi est de faire un envoi par mail d'un tableau contenu dans une des feuilles de mon fichier via notre messagerie Lotus notes.

Je me casse les dents à réunir plein de bout de code qui fonctionnent à peu près mais ne me donnent jamais la solution entière.

Sur la Pièce jointe j'ai modifié chaque information possible concernant mon entreprise par "salut" par soucis de confidentialité.

Il y a deux macros sur le fichiers : La 1ere prépa_mail qui est très grande, inbuvable, que j'ai pu récupérer au travail, avec laquelle je aprviens à envoyer des mails comme je le veux mais sans savoir y joindre de PJ

La deuxième Test_PDFCREATOR qui est courte, qui me permet de prendre le tableau qui m'intéresse sur mon fichier de page dont la feuil se nomme "Synthèse Gaz" pour en faire un pdf via PDFCREATOR, seulement j'ai bien l'ouverture de l'onglet avec le choix d'enregistrer ou d'envoyer le pdf qui s'ouvre, mais à partir de là le reste de la macro ne aprvient pas à faire le choix d'elle même, d'enregistrer le fichier pour ensuite ouvrir note et l'envoyer.

J'ai essayer de faire un mixte des deux macros, mais sans connaissances sur le sujet c'est très délicat...

Désolé pour le message en pavé, je sais que c'est pas évident mais je suis vraiment bloqué et cherche désespéramment de l'aide. Je m'en remets à vous.

Très sincèrement,
Dysnox.
 

Pièces jointes

  • Test mailing en cours.xlsm
    53.7 KB · Affichages: 122

dysnox

XLDnaute Nouveau
Re : Envoi d'un tableau par Lotus Notes via Excel

Bonjour à tous,

Tout d'abord merci pour ta réponse Staple1600.

Pour y répondre je n'avais pas fait cette démarche au moment de poster le mail et ai, dans la soirée et ce matin depuis une heure, décortiqué les sujets traitant de cette "affaire" mais je me retrouve toujours dans la même impasse.

Le problème est que dans certains sujets les liens, je parle essentiellement de celui de "Ron", sont désactivés.

J'ai pu récupérer le fichier de Kobaya (https://www.excel-downloads.com/threads/lotus-notes-et-excel-entr.67917/) et mis à part quelques freeze j'arrive effectivement à envoyer un mail mais toujours sans savoir joindre un tableau (Je suis incapable d'adapter sa macro pour prendre la plage qui m'intéresse sur ma feuille).

Je continue à chercher, si quelqu'un passe par là avec un code miracle que je pourrai adapter à mes besoins ( cf mon fichier joint ) ça serait fantastique.
 

dysnox

XLDnaute Nouveau
Re : Envoi d'un tableau par Lotus Notes via Excel

Désolé de répondre à mon propre sujet mais ça sera, je pense, plus propre que d'éditer.

J'ai trouvé un code assez propre et adaptable, que j'ai déjà réussi à adapter pour l'envoi de mail (Pas encore pour le texte, ni les pièces jointes mais une chose à la fois)

Voici le code en question :

VB:
 'Public Sub SendNotesMail(Subject as string, attachment as string,
'recipient as string, bodytext as string,saveit as Boolean)
'This public sub will send a mail and attachment if neccessary to the
'recipient including the body text.
'Requires that notes client is installed on the system.

Public Sub SendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean)
'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 = Recipient
    MailDoc.Subject = Subject
    MailDoc.Body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt
    'Set up the embedded object and attachment and attach it
If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
        MailDoc.CREATERICHTEXTITEM ("Attachment")
    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

La partie
VB:
If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
        MailDoc.CREATERICHTEXTITEM ("Attachment")

est, je me doute, celle qui fait référence à la pièce jointe que l'on aimerait associer au mail. Le problème est que je ne sais pas du tout comment lui dire de prendre par exemple le tableau en A1;D5 de la Feuille !Tableau

Si quelqu'un a une idée dans la manière de procéder il ferait un heureux. Je reste actif sur le sujet.
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA