envoi mail avec Excel VBA vers Lotus 6.5

littlefish

XLDnaute Nouveau
Bonjour, j'ai travaillé six mois en stage sur un outil excel permettant les retours d'informations, dans le cadre d'une démarche qualité.
L'origine du besoin était de signaler les problèmes de conception et de pouvoir faire un retour vers le bureau d'études.

L'outil fonctionne bien, pour toute la gestion de l'information et l'émission et le traitement de l'information, le seul problème réside dans l'envoi de mail automatique, la version de lotus notes, n'étant pas la même sur tout les postes, tout comme les versions Excel

Je lance une bouteille à la mer, car ce projet meurt dans l'oeuf et mes compétences en Excel arrivent à mes limites, même si j'y travail dès que je peux.

J'aimerais pouvoir remettre mon application à jour, en travaillant dans l'ombre,en dehors de mes heures de travail, tester, et ré injecter tout , une fois éprouvé et fiable.
En espérant, un jour avoir une réponse, bonne continuation à Excel Download.

Je suis nouveau membre, je peux envoyer l'application à qui souhaite m'aidern, même si je pense que c'est un challenge que seul il est difficile de mener à termes.

Cordialement,
Alexandre
 

Excel-lent

XLDnaute Barbatruc
Re : envoi mail avec Excel VBA vers Lotus 6.5

Salut Littlefish,


le programme existant est il fiable?

Je veux bien répondre à ton sondage, mais de quel programme parles-tu?

Avant d'avoir une opinion, il faudrait qu'on puisse le tester!

Sinon pour ton soucis, sans fichier ou description exacte du problème à résoudre, nous ne pouvons pas trop t'aider!

L'idéal, cible précisément ton soucis, enlève de ton fichier toutes les données confidentielles, allège le des données non nécessaire à la résolution de ton problème, met le en ligne sur le forum et LA... nous pourrons t'aider!

le seul problème réside dans l'envoi de mail automatique, la version de lotus notes, n'étant pas la même sur tout les postes, tout comme les versions Excel

Pour que cela est les meilleurs chance de fonctionner, il faut réaliser ton fichier sur la version la plus ancienne, ainsi tu seras sûr à 100% qu'elle fonctionnera sur ces derniers. Le fichier fonctionnant sur les anciennes version, il n'y a aucune raison pour qu'il ne fonctionne pas sur les récentes.


A bientôt.

PS. : Tout en bas figure les autres messages déjà posté (et souvent résolu), traitant du même problème que le tiens. Tu les as regardé? Cela t'a aidé?
 
Dernière édition:

littlefish

XLDnaute Nouveau
Re : envoi mail avec Excel VBA vers Lotus 6.5

je m'étais dit la même chose en travaillant sur d'ancienne version aves les nouvelles cela ira, mais, comme je travail avec Excel 2003 et que je n'ai pas commme les anciens poste;Excel 97, c'est un peu galère.

je souhaitais mettre mon fichier, mais celui-ci fait 108Ko zippé et 308 non zippé, c'est pour cela qu'il n'est pas joint au corps du mail principal,

Merci pour vos conseils, je vais essayer malgré d'avancer.

Cordialement, Alexandre
 

littlefish

XLDnaute Nouveau
Re : envoi mail avec Excel VBA vers Lotus 6.5

Bonjour, tout le monde, je me suis re penché sur le programme avant de vous demander un coups de main.
Je vous joins un extrait de mon programme d'envoi mail sous lotus.
Mon programme fonctionne très bien sous Lotus notes 4.5, mais pas sur la version 6.5, j'ai lu que cela pouvait venir de " " au niveau de Attachment, j'ai essayé de faire les réctifications, mais cela ne fonctionne pas.
Mon programme est utilisé aussi sur quelques machines utilisant Citrix avec Excel 97, hormis l'enregistrement en version 97, et tester; avoir conçu sous Excel 2000 necessite de tout re vérifier pour que cela fonctionne avec 97?

A vous lire, Alexandre

Dim Recipient(3) As Variant
Dim Attachment(2) As Variant
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ENVOI MAIL EMETTEUR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Public Function LOTUSNOTES3(subject As String, Attachments As String, BodyText As String, SaveIt As Boolean) As Boolean

'Set up the objects required for Automation into lotus notes

On Error GoTo TraiteErreur

Recipient(0) = adrsmail
Recipient(1) = "xxxx.xxxx.xx@eigsi.fr"
'destinataire combobox origine BE destinataire

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 passwd As String
Dim i As Variant
Dim message1 As String
Dim message2 As String
Dim message3 As String
Dim message4 As String
Dim message5 As String
Dim message6 As String


'données tirées de la feuille FRBE, bien faire aperçu avt impression pour visualiser dans le mail
message1 = Sheets("FRBE").Range("N1") 'affaire concernée
message2 = Sheets("FRBE").Range("S3") 'Numero de FRBE
message3 = Sheets("FRBE").Range("G8") 'Emetteur
message4 = Sheets("FRBE").Range("B35") 'Fichiers joints
message5 = Sheets("FRBE").Range("B43") 'Images jointes
message6 = Sheets("FRBE").Range("R6") 'Citadis


'Demande le password Lotus(Dans le cas ou la session necessite un passwd)
'passwd = InputBox("Entrer votre password Lotus:", "Password")

'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 & vbTab & vbTab & message1 & vbTab & message2 & vbTab & message6
'Texte contenu dans le mail
mailDoc.ReturnReceipt = "1"
Set rtitem = mailDoc.CreateRichTextItem("Body")

With rtitem

.AppendText "Bonjour,"
.AddNewLine 2
.AppendText "Une Nouvelle Fiche FRBE est en cours émise par: " & message3
.AddNewLine 2
.AppendText "PROJET:" & message1
.AddNewLine 2
.AppendText "FICHE N°:" & message2
.AddNewLine 2
.AppendText "Vous trouverez les liens des documents annexés à cette fiche par l'emetteur"
.AddNewLine 2
.AppendText " " & message4
.AddNewLine 2
.AppendText " " & message5
.AddNewLine 2
.AppendText "Cet e-mail a été généré par un processus automatique."
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Administrateur FRBE"
.AddNewLine 1
.AppendText "FICHE DE REMONTEES BUREAUX D'ETUDES"
.AddNewLine 3


End With


'Protection copie
Call mailDoc.REPLACEITEMVALUE("$KeepPrivate", "1")

mailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
'DIVERS
Attachment(0) = "\\isis.dom2.ad.sys\Messagerie\AA_Messagerie\manuel_aide_excel.doc" 'txtFromEmailAddress
Attachment(1) = "\\isis.dom2.ad.sys\Messagerie\AA_Messagerie\Nouveau Document texte.txt" 'txtFromEmailAddress

For i = 0 To 2
If Attachment(i) <> "" Then
Set AttachME = mailDoc.CreateRichTextItem(Attachment(" & i & "))
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment(i), Attachment(" & i & "))
mailDoc.CreateRichTextItem (Attachment(" & i & "))
End If
Next i

'Send the document
mailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
mailDoc.SEND 0, Recipient
LOTUSNOTES3 = True
MsgBox "Fiche validée, message envoyé"

GoTo ExitHandle

Exit Function


TraiteErreur: LOTUSNOTES3 = False
MsgBox "Erreur Critique durant l'envoi,contacter Alexandre""""", RLE 3768.", vbCritical, "Error"
ExitHandle:
'Clean Up
Set mailDb = Nothing
Set mailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Function

je me suis aussi creusé la tete pour faire un truc dans le genre:
If UserForm1.ComboBox10.Text = BE_Str Then Recipient(2) = "xxxxx.xxxxxx@xxx.com" afin que l'on directement le nom de la personne suivant le choix de la combobox, mais cela ne fonctionne pas.

je suis preneur de tout conseil, merci, et bonne journée a vous
 

stephver

XLDnaute Nouveau
Re : envoi mail avec Excel VBA vers Lotus 6.5

Bonjour, lorsque j'essaie d'utliser ces lignes suivante je reçoit l'erreur Run-time error '7223' Application defined or object-defined error

J'utilise excel 2003 et lotus notes 6.5 et voiçi mes lignes

Set AttachME = objdoc.CREATERICHTEXTITEM("stAttachment")
Set EmbedObj = AttachME.EMBEDOBJECT(152, "", stattachment, "stAttachment")
objdoc.CREATERICHTEXTITEM ("stAttachment")

Voiçi les reference utilisées

Lotus domino objects
lotus notes automation classes
ole automation
microsoft excel 11 library
microsoft office 11 object library
microsoft activex data object 2.1


Pouvez-vous m'aider
 

littlefish

XLDnaute Nouveau
Re : envoi mail avec Excel VBA vers Lotus 6.5

il semble que dans le version 6.5 de lotus notes les " dans les pièces rattachés doivent être supprimé, c'est ce que j'essaye de faire et c'est aussi pour cela que j'ai demandé de l'aide,mais je n'ai pas de réponse, mais je crois que nos problèmes sont les mêmes, courage, alexandre
 
C

Compte Supprimé 979

Guest
Re : envoi mail avec Excel VBA vers Lotus 6.5

Bonjour à vous,

Il me semble que cette question à déjà été traitée sur ce forum !?

Sinon, voilà un bout de code qui devrait faire l'affaire ;)

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(Dans le cas ou la session necessite un passwd)
    passwd = InputBox("Entrer votre password Lotus:", "Password")
    
    ' Création de la session Notes
    Set Session = CreateObject("Lotus.NOTESSESSION")
    
    'Ouverture d'une session NOTES
    Call Session.Initialize(passwd)'si pas de passwd pas de parametre pour initialize
    Set dir = Session.GETDBDIRECTORY("FranceServer1/DCI/BME/Omnia Group")
    Set db = dir.OpenMailDatabase
    
    ' Création d'un document
    Set doc = db.CREATEDOCUMENT
    'affectation du type mail
    Call doc.APPENDITEMVALUE("Form", "Memo")
    Call doc.APPENDITEMVALUE("Sendto", "AdresseMailDestinataire")
    Call doc.APPENDITEMVALUE("subject", "sujet")
    doc.SAVEMESSAGEONSEND = saveit 'sauvegarde du mail à l envoi
    
    Set rtitem = doc.createRichTextItem("Body")
    
    
    Dim nom As string 
    nom = ThisWorkbook.FullName
    'Attachement du classeur au mail
    Set object = rtitem.embedObject(1454, "", nom,"")
    ' Ou Attachement d'un document
    'Set object = rtitem.embedObject(1454, "", "chemin et nomcomplet du doc","") 

    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

Si ça peut vous aider :D

A+
 

jeanpierre

Nous a quitté
Repose en paix
Re : envoi mail avec Excel VBA vers Lotus 6.5

Bonjour tous, lettlefish, kiki29, re Brnuo, et les autres,

Ton fichier ne nous intéresse pas en l'état.... enfin, si bien sûr...

Une ou plusieurs feuilles si besoin et avec quelques lignes sur chaque, judicieusement choisies.... pour bien comprendre peuvent suffirent (pas du toto de partout).... et en ZIPPE, on peut en mettre pas mal....
 

littlefish

XLDnaute Nouveau
Re : envoi mail avec Excel VBA vers Lotus 6.5

Bonjour tous, littlefish, kiki29, re Bruno, et les autres,

Ton fichier ne nous intéresse pas en l'état.... enfin, si bien sûr...

Une ou plusieurs feuilles si besoin et avec quelques lignes sur chaque, judicieusement choisies.... pour bien comprendre peuvent suffirent (pas du toto de partout).... et en ZIPPE, on peut en mettre pas mal....



Merci Jean-Pierre, voici une version plus light: http://cjoint.com/?cjq3hrd4bg
merci pour le coups de main, alexandre
 

Discussions similaires

Réponses
5
Affichages
332

Statistiques des forums

Discussions
311 711
Messages
2 081 783
Membres
101 817
dernier inscrit
carvajal