Bonjour,
J'ai créer une macro il y a quelque temps, pour faire partir d'excel un courrier (image) par messagerie lotus.
Ceci marche très bien mais on me demande de générer ces courriers via des boites génériques.
Ma demande est-elle possible ?
ci dessous une image de la creation d'un mail par boite générique et le code de ma macro.
Désolé le post va etre assez long avec tout ça.
1er macro pour le module de génération de mail
2eme macro qui appel la creation du mail avec certaine zone
'Image de génération d'un mail de boite générique en ZIP'
dsl je ne peux pas mettre l'image car trop lourde, et je n'ai que paint ici ,et en jpeg ou gif , ça fait plus que 48ko, donc j'essayerai de reduire la qualité de chez moi ou sinon envoi par mail..
Sinon pour explication, il faut choisi memo ou fax, ça ouvre une boite de dialogue pour choisir le modele et valider pour tomber sur un mail vierge.
J'ai créer une macro il y a quelque temps, pour faire partir d'excel un courrier (image) par messagerie lotus.
Ceci marche très bien mais on me demande de générer ces courriers via des boites génériques.
Ma demande est-elle possible ?
ci dessous une image de la creation d'un mail par boite générique et le code de ma macro.
Désolé le post va etre assez long avec tout ça.
1er macro pour le module de génération de mail
Code:
Public Sub CreateMailWithCopy(strSubject As String, SendTo As Variant, Body As Variant, SendCopyTo As Variant)
'********************************************'
' '
' création d'un mail sans envoi par la macro '
' '
'********************************************'
Dim OLESess As Object
Dim OLEWorkspace As Object
Dim OLEUIDoc As Object
Dim blnFirst As Boolean
Dim rngCell As Range
On Error GoTo Error_CreateMailWithCopy
' Creation de la connexion avec Lotus Notes et du mail
Set OLESess = CreateObject("notes.NotesSession")
Set OLEWorkspace = CreateObject("Notes.NotesUIWorkspace")
Set OLEUIDoc = OLEWorkspace.COMPOSEDOCUMENT("", "", "Memo")
' remplissage du champ 'To'
OLEUIDoc.GOTOFIELD "To"
blnFirst = True
For Each rngCell In SendTo
If blnFirst Then
If Not IsEmpty(rngCell) Then
OLEUIDoc.FIELDSETTEXT "EnterSendTo", rngCell.Value
blnFirst = False
End If
Else
If Not IsEmpty(rngCell) Then
OLEUIDoc.FIELDAPPENDTEXT "EnterSendTo", "," & rngCell.Value
End If
End If
Next
' remplissage du champ 'cc'
OLEUIDoc.GOTOFIELD "CC"
blnFirst = True
For Each rngCell In SendCopyTo
If blnFirst Then
If Not IsEmpty(rngCell) Then
OLEUIDoc.FIELDSETTEXT "EnterCopyTo", rngCell.Value
blnFirst = False
End If
Else
If Not IsEmpty(rngCell) Then
OLEUIDoc.FIELDAPPENDTEXT "EnterCopyTo", "," & rngCell.Value
End If
End If
Next
On Error GoTo Error_CreateMailWithCopy
' remplissage du champ Subject
OLEUIDoc.FIELDSETTEXT "Subject", strSubject
' positionnement sur le champ Body
OLEUIDoc.GOTOFIELD "Body"
' copy de la zone définie dnas Excel
Body.Copy
' les 4 lignes ci-dessous sont à mettre en commentaire
' si on souhaite (manuellement) coller les données au format bitmap dans Notes
OLEUIDoc.Paste ' coller les données dans Notes
Application.CutCopyMode = False ' désélection de la zone copiée dans Excel
'OLEUIDoc.Send True ' envoyer le mail
'OLEUIDoc.Close ' fermer le mail
OLEUIDoc.Select
Exit_CreateMailWithCopy:
On Error Resume Next
Set OLESess = Nothing: Set OLEWorkspace = Nothing: Set OLEUIDoc = Nothing
Application.StatusBar = ""
Exit Sub
Error_CreateMailWithCopy:
If Err.Number = 7412 Then
MsgBox "In order to fill correctly mail fields, please select your Inbox," & vbLf & "not Market Risk - Inbox", vbExclamation, ThisWorkbook.Name
Else
MsgBox "Le mail est généré et prêt à envoyer"
GoTo Exit_CreateMailWithCopy
End If
End Sub
2eme macro qui appel la creation du mail avec certaine zone
Code:
Sub mailR1()
Application.ScreenUpdating = False
Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
Selection.Copy
Sheets("intermediaire").Select
Rows("2:2").Select
ActiveSheet.Paste
Call CreateMailWithCopy(Sheets("R1").Range("Subject"), _
Sheets("R1").Range("Destinataires").CurrentRegion, _
Sheets("R1").Range("Corps"), _
Sheets("R1").Range("Copie"))
Sheets("base").Select
End Sub
'Image de génération d'un mail de boite générique en ZIP'
dsl je ne peux pas mettre l'image car trop lourde, et je n'ai que paint ici ,et en jpeg ou gif , ça fait plus que 48ko, donc j'essayerai de reduire la qualité de chez moi ou sinon envoi par mail..
Sinon pour explication, il faut choisi memo ou fax, ça ouvre une boite de dialogue pour choisir le modele et valider pour tomber sur un mail vierge.
Dernière édition: