Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 18h59   #1
Membre à l'essai
 
Homme
Inscription : décembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2007
Messages : 45
Points : 22
Points : 22
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 :
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
Sécateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 21h02   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Bonjour,

Je ne suis pas sur, mais a tu essayé de mettre ce paramètre à 1
Code :
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 :
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
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 08h38   #3
Membre à l'essai
 
Homme
Inscription : décembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2007
Messages : 45
Points : 22
Points : 22
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 :
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 !
Sécateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 09h06   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
Pour le message, tu peux utiliser au choix un textbox, un richtextbox ou une cellule.
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 09h29   #5
Membre à l'essai
 
Homme
Inscription : décembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2007
Messages : 45
Points : 22
Points : 22
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 !
Sécateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 10h12   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 899
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 899
Points : 7 185
Points : 7 185
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
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 09h01   #7
Membre à l'essai
 
Homme
Inscription : décembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2007
Messages : 45
Points : 22
Points : 22
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 !
Sécateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 07h17   #8
Membre à l'essai
 
Homme
Inscription : décembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : décembre 2007
Messages : 45
Points : 22
Points : 22
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 !
Sécateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h15.


 
 
 
 
Partenaires

Hébergement Web