Envoi de feuille par mail auto sur lotus

gorghrom

XLDnaute Junior
Ce lien n'existe plusCe lien n'existe plusBonjour à tous,

Je sais que beaucoup de discussion ont été ouverte sur ce sujet mais je n'ai pas trouvé la réponse à mes problèmatiques :

1 - La première est de pouvoir envoyer la feuille "APPRO" (fichier ci joint), en pièce jointe par mail via "lotus notes" (je pense que c'est la dessus que ca coince, j'ai fait plusieurs tentatives avec des macro proposées sur d'autres discussions mais sans succès, d'habitude, l'envoi se fait par outlook). Sachant que le destinataire du mail est le mail en J14 qui, pour simplifier les choses changent en fonction des numéros en B4. L'objet du mail devant correspondre également à la case B4 et en plus un texte prédifinie dans le corps du mail.

2 - Le seconde problèmatique est de pouvoir avoir une formule inscrite dans le dur sur une cellule, qui puisse etre conservé même si on l'écrase malencontreusement. => exemple en B10 ,il arrive que les renseignement resultant de la RechercheV insrcite dans la cellule, doivent être corrigé. Cette cellule B10 est lié au numéro de commande en B4. Lorsque je modifie B4, je souhaiterais que la fonction recherche v soit conservé. : doit on la mettre en macro ? doit on la mettre avec la fonction "validation des données" ? . J'ai essayé avec le vérrouillage de la cellule + protection de la feuille, mais sans succès : pas de possibilité de vérrouillé uniquement la formule et autoriser l'écriture.

Merci à l'avance et à tous pour votre aide précieuse

Cordialement
 

Pièces jointes

  • ESSAI FICHE APPRO EXCEL.xlsm
    36.7 KB · Affichages: 38
  • ESSAI FICHE APPRO EXCEL.xlsm
    36.7 KB · Affichages: 46
  • ESSAI FICHE APPRO EXCEL.xlsm
    36.7 KB · Affichages: 43
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Envoi de feuille par mail auto sur lotus

Bon ,
C'est un code que jai écrit il y a un sacré moment,
Je n'ai plus lotus , mais c'était une fonction qui permettait la gestion d'un mail.
regardes si tu trouves ton bonheur la dedans

Code:
Function EnvoiNotesMail(BALad As String, BAL As String, Signature As String, _
                        FichierAttaché As String, Destinataires As Variant, DestinatairesCopie As Variant, _
                        SauveMail As Boolean, Sujets As String, Optional FichierWord_Import As String, _
                        Optional AccuséDeRéception As Boolean) As Boolean

' Déclaration des objets nécessaires à l'initialisation de Lotus Notes
Dim Session As Object       ' Variable de type NotesSession
Dim Db As Object            ' Variable de type NotesDatabase
Dim MailDoc As Object       ' Variable de type NotesDocument

Dim MailDoc2 As Object
Dim Element As Variant

Dim UIdoc As Object         ' Document de type NotesUIDocument
Dim Attachme As Object, EmbedObj As Object
Dim UserName As String, Lserv As String, NomBase As String
Dim Workspace As Object     ' Variable de type NotesUIWorkspace
Dim CheminCourriers As String

' Emplacement des Courriers RTF générés par publipostage (par ex: ...\Publipostage\Courriers\)
CheminCourriers = ThisWorkbook.Path & SousDossier_Courriers

' Gestion des erreurs
On Error GoTo ErrHandle

Set Session = CreateObject("Notes.NotesSession")

' Paramètres pour la session
Lserv = Session.GetEnvironmentString("MailServer", True)
NomBase = Session.GetEnvironmentString("MailFile", True)
UserName = Session.UserName

Set Db = Session.GetDatabase("", BAL)
If Db.IsOpen = False Then Db.OPENMAIL

' Création d'un nouveau mail
Set MailDoc = Db.CreateDocument()
    
' Permet d'attacher un document au mail (pièce jointe)
If FichierAttaché <> "" Then
    Set Attachme = MailDoc.CreateRichTextItem("Attachment")
    Set EmbedObj = Attachme.EmbedObject(1454, "", FichierAttaché, "Attachment")
End If
  
' Propriétés d'envoi du mail
MailDoc.AppendItemValue "Subject", Sujets       ' Sujet (=Intitulé du mail)
MailDoc.AppendItemValue "SendTo", Destinataires ' Si tableau de string() en paramètre, plusieurs destinataires possibles (ex: Recipient(2))
MailDoc.AppendItemValue "CopyTo", DestinatairesCopie
MailDoc.ReturnReceipt = IIf(AccuséDeRéception = True, "1", "0") ' Accusé de réception

MailDoc.ReplaceItemValue "Principal", BALad
'MailDoc.ReplaceItemValue "From", Signature
'MailDoc.ReplaceItemValue "SentBy", Signature


Call MailDoc.Save(False, False)

Set Workspace = CreateObject("Notes.NotesUIWorkspace")

' Sécurité d'affectation de l'objet UIdoc :
' (on boucle sur l'instruction jusqu'à ce que l'objet UIdoc soit affecté.
' Sans cette sécurité, l'objet UIDoc est aléatoirement affecté ou égal à Nothing !)
Do
    ' ouvre un nouveau Mail reprenant les propriétés du MailDoc
    Set UIdoc = Workspace.EDITDOCUMENT(True, MailDoc, False, , True, False)
Loop While (UIdoc Is Nothing)

' Importation du Document Word dans le Corps du Mail
Call UIdoc.GOTOFIELD("Body")
If FichierWord_Import <> "" Then Call UIdoc.Import("Microsoft RTF", CheminCourriers & FichierWord_Import)

'Call UIdoc.Document.ReplaceItemValue("From", Signature)

Call UIdoc.Document.ReplaceItemValue("Principal", BALad)
Call UIdoc.Reload

'For Each Element In UIdoc.Document.Items
'    Debug.Print "Nom élément : " & Element.Name & " ## valeur : " & UIdoc.Document.GetItemValue(Element.Name)(0)
'Next Element

'Array("P743577")

' Envoi du mail
Call UIdoc.Send


EnvoiNotesMail = True
' Fermeture du mail (avec sauvegarde si demandée)
If (SauveMail = True) Then Call UIdoc.Save
Call UIdoc.Close    '(SauveMail)

GoTo ExitHandle

ErrHandle:
' Affichage de l'origine de l'erreur en cas de problème
If Err.Number = ERR_NOTES_NO_SERVER Then Debug.Print "pb de Serveur"
If Err.Number = ERR_NOTES_SEND_FAILED Then Debug.Print "pb de Serveur"
Debug.Print "Erreur détectée : " & Error$ & " à la ligne " & CStr(Erl)
MsgBox Err.Description
EnvoiNotesMail = False

ExitHandle:
' Destruction des Objets en mémoire
Set MailDoc = Nothing
Set UIdoc = Nothing
Set Attachme = Nothing
Set EmbedObj = Nothing
Set Session = Nothing
Set Db = Nothing

On Error GoTo 0
End Function
 

gorghrom

XLDnaute Junior
Re : Envoi de feuille par mail auto sur lotus

Bonjour,

Avec un peu de retard, je te réponds camarchepas, mais j'ai essayé d'adapté la macro que tu proposes mais sans grand succès : je me but a bcp d'erreur que je n'arrive pas a résoudre.

As tu (ou quelqu'un d'autre) une autre solution.

Merci a tous par avance.
 

Discussions similaires

Réponses
5
Affichages
375
Réponses
6
Affichages
311

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11