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 66 67 68 69 70 71 72 73 74 75 76
| 'Procédure permettant d'envoyer un mail dans le corps d'un message
'*************************************************************************
Sub EnvoiMail() 'mis dans la feuille à envoyer
Dim Fl As Worksheet, NbLg As Integer, Ht As Integer
Dim DestAgt As String, cc As String
Application.ScreenUpdating = False 'désactivation du raffaichissement de l'écran
'on crée une nouvelle feuille
Sheets.Add After:=Sheets("Données")
If Len(CbxAgt) < 30 Then
ActiveSheet.Name = CbxAgt
Else '/!\ si feuil existe
On Error GoTo GestErr
ActiveSheet.Name = Left(CbxAgt, 8)
On Error GoTo 0
End If
Set Fl = ActiveSheet
If Sheets("Données").Visible = False Then Call DeProtegAll
'on récupère les coordonnées des destinataires
Sheets("Données").Range("S4") = CbxAgt
Range("J1") = CbxAgt
Range("K1") = Sheets("Données").Range("T4").Value
Sheets("Données").Range("S4") = CbxSup
Range("J2").FormulaR1C1 = CbxSup
Range("K2") = Sheets("Données").Range("T4").Value
DestAgt = [K1]
cc = [K2]
DestAgt = InputBox("Confirmer le destinataire ?", _
"DESTINATAIRES DU RAPPORT", DestAgt)
[K1] = DestAgt
Application.DisplayAlerts = False
If DestAgt = "" Then
Fl.Delete
Exit Sub
End If
cc = InputBox("Confirmer votre mail ?", _
"DESTINATAIRES DU RAPPORT", cc)
[K2] = cc
If cc = "" Then
Fl.Delete
Exit Sub
End If
Application.DisplayAlerts = True
' Mise en forme
Columns("A:A").ColumnWidth = 100
''' mis dans call
'Corp du mail
[A1] = "Bonjour"
'::: Coupure
Fl.Range("A1:B" & NbLg + 3).Select 'plage à copier
'avec l'objet MailEnveloppe on envoie dans le corps du mail.
With Fl.MailEnvelope.Item
.To = [K1].Value 'Fl.Range("R1").Value 'Destinataire Agent
.cc = [K2].Value 'Fl.Range("L8").Value 'Copie Superviseur
.Subject = "SuperV - " & Mid(Sheets("Saisies").Range("I1"), 13) 'Objet
' .Attachments.Add "CheminFichier" 'Pièce jointe
' .Display 'Affiche du mail
.Send 'Envoi du mail
End With
MsgBox "votre rapport a été adressé ; vérifiez qu'il n'a pas été rejeté dans vos envois Outlook.", _
vbInformation + vbOKOnly, "CONFIRMATION ENVOI MAIL"
Application.DisplayAlerts = False
Fl.Delete 'on supprime la feuille du message
If Sheets("Données").Visible = True Then Call ProtegAll
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Exit Sub
GestErr:
Call MsgBox("Une feuille portant le même nom est présente dans le fichier." _
& vbCrLf & "" _
& vbCrLf & "Veuillez la supprimer et si vous voulez renvoyer le courriel, double-cliquer sur le Nir concerné." _
& vbCrLf & "" _
& vbCrLf & "Merci" _
, vbCritical, "SuperV - Envoi courriel")
Exit Sub
End Sub |
Partager