IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoi de mail par Lotus Notes 8.5 en VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 56
    Points
    56
    Par défaut Envoi de mail par Lotus Notes 8.5 en VBA
    Bonjour,

    Je voudrais utiliser cette superbe macro pour envoyer un fichier texte par Lotus Notes 8.5.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Sub SendNotesMail()
        lechemin = ActiveWorkbook.Path
        ledossier = Feuil3.[B1].Value
        lefichier = lechemin & "\" & ledossier & ".txt"
     
        On Error GoTo TraiteErreur
     
     
        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)
        Dim ATTACHMENT
     
     
        ATTACHMENT = lefichier
     
        Set Session = CreateObject("Notes.NotesSession")
        MailDbName = "zzzz" & ".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 = "New inquiry"
        MailDoc.body = "Please find attached a new inquiry"
        MailDoc.SaveMessageOnSend = saveit
     
        'PJ
        If ATTACHMENT <> "" Then
            Set AttachME = MailDoc.CreateRichTextItem("Attachment")
            Set EmbedObj = AttachME.EmbedObject(1454, "", ATTACHMENT, "Attachment")
        End If
     
     
        'Send the document
        MailDoc.PostedDate = Now()
        MailDoc.Send 0, "xxx@yyy.fr"
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
        Exit Sub
     
    TraiteErreur:
        MsgBox "Sorry, something went wrong ...", vbCritical, "Error"
     
        'Clean Up
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
    End Sub
    Malgré des jours de recherche sur le net, je ne trouve pas mon bonheur pour

    1) ne pas envoyer le mémo automatiquement mais laisser à l'utilisateur la possibilité d'entrer lui-même le texte du message.

    2) que le mémo envoyé se retrouve dans la liste de messages envoyés. En effet, la macro fonctionne très bien, le message est bien envoyé avec sa pièce jointe mais je ne trouve aucune trace de ce message dans ma base. J'ai essayé les deux méthodes pour MailDbName : en entrant directement le nom de ma base Lotus Notes ou en la cherchant avec UserName=Session.UserName. Je n'ai pas d'erreurs mais le message n'apparaît toujours pas

    Si une bonne âme a une solution, elle sera plus que bienvenue !!

    Grand merci par avance

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Je ne suis pas sur, mais a tu essayé de mettre ce paramètre à 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailDoc.Send 1, "xxx@yyy.fr"
    Sur mon poste ca mémorise mais je suis en 6.5

    Je te joint la fonctionne que j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Public Sub MailLotus(ByVal MailDestinataire As String, ByVal Sujet As String, ByVal CorpsMessage As String, _
                    ByVal FichierJoint As String)
     
    On Error GoTo Gerreur
     
    'Dim session As Domino.NotesSession
    Dim session As Object
    Dim db As Object
    Dim doc As Object
    Dim attachme As Object
    Dim EmbedObj As Object
    Dim attachment() As String
    Dim i As Integer
     
    Set session = CreateObject("notes.notessession")
    Set db = session.GETDATABASE("", "")
    Call db.openmail
     
    Set doc = db.createdocument
     
    With doc
        .form = "Memo"
        .sendto = MailDestinataire
        .Subject = Sujet
        .body = CorpsMessage
        .from = session.COMMONUSERNAME
        .posteddate = Now
        .SaveMessageOnSend = True
    End With
     
    If FichierJoint <> "" Then
        attachment = Split(FichierJoint, ";")
        For i = 0 To UBound(attachment)
            Set attachme = doc.CreateRichTextItem("Attachment")
            Set EmbedObj = attachme.EMBEDOBJECT(1454, "", attachment(i), "Attachment")
        Next i
    End If
     
    Call doc.SEND(True)
     
    Exit Sub
    Gerreur:
    MsgBox Err.Number & " : " & Err.Description, vbCritical, "Erreur"
     
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Très grand merci, Jerôme !!

    J'ai fait un pas de géant ! L'email apparaît maintenant dans ma liste de messages envoyés avec ton code à toi !

    En fait, je crois que la ligne qui buggait était :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailDoc.SaveMessageOnSend = True
    au lieu de "saveit" que l'on trouve sur toutes les propositions postées sur le net

    Et, en plus, je crois qu'il sera plus simple à utiliser sur d'autres postes que le mien !

    Pour la question du texte, je crois que je vais devoir passer par un TextBox dans mon UserForm et le mettre dans le message ... Ce sera mieux que rien ... mais si tu as une autre idée, je suis preneur !

    Encore merci !

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Pour le message, tu peux utiliser au choix un textbox, un richtextbox ou une cellule.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Oui, c'est ce que je viens de faire : un UserForm avec un TextBox.

    Je redoutais que les sauts de ligne ne passent pas mais tout marche nickel !

    Petite question subsidiaire : Y a-t-il un moyen de faire apparaître la signature Lotus de l'utilisateur dans le mémo ? Là, je crois que j'abuse ... mais bon, qui ne risque rien n'a rien !

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Pour la signature je ne sais pas, mais tu trouveras peut etre dans cette documentation qui, chose rare, est en français
    http://www.domlike.net/domlike/dl2.n...TUS_SCRIPT.pdf

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Déjà 11 jours depuis mon dernier post ...
    J'ai encore eu un souci : à la réception du mail, l'utilisateur avait le message suivant quand il essayait d'ouvrir le mail :

    "Un masque enregistré ne doit pas contenir de sous-masques calculés".

    J'ai donc changé la ligne suivante
    en
    et ça marche correctement maintenant. Mais ne me demandez pas pourquoi ...
    J'ai bien essayé de lire le site que Jérôme me proposait mais ça me passe très largement au dessus de la tête !

    Je mets le post en Résolu et encore merci pour le coup de main !

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Et pour ceux que ça intéresse, voici le lien qui répond à ma première question :

    http://www.developpez.net/forums/d98...-mail-via-vba/

    Comme quoi
    1) on ne cherche pas assez sur Internet
    2) il y a vraiment toutes les réponses à toutes les questions sur Développez.com

    Bonne journée à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de mail par Lotus Notes en VBA
    Par amelyfred dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/01/2012, 16h11
  2. Envoi mail par Lotus Notes depuis VB : signature
    Par Gluups dans le forum Général VBA
    Réponses: 6
    Dernier message: 25/01/2011, 10h15
  3. Envoi de Mail par lotus Notes, sous un autre compte
    Par mascletjp dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/10/2007, 15h08
  4. Réponses: 2
    Dernier message: 21/11/2006, 11h08
  5. Envoi de mail avec Lotus Notes depuis VB
    Par mdriesbach dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 09/11/2005, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo