XL 2013 Envoie de P-J sil existe par mail Macro VBA

yozgatliharun

XLDnaute Nouveau
Bonjour, j'aurai besoin de votre aide,

Je veux joindre un fichier s'il existe sinon il passe au deuxième fichier sinon il ne m'envoie rien

le code est le suivant

Set Outlook = CreateObject("Outlook.Application")
Set Message = Outlook.CreateItem(0)

NumCaisse = Cells(i, 1).Value
Destinataire = Cells(i, 3).Value

Copie = Range("D2").Value
Periode = Range("E2").Value
Trim = Range("F2").Value
Annee = Range("G2").Value
sg = Cells(i, 2).Value

Objet = "Amundi FR - AA - " & NumCaisse & " " & "Rétrocession sur encours " & Periode
Path1 = "P:\FC Luxembourg\Contreparties\Asset Managers\AMUNDI_FCL_296\DOLOMITES\" & Trim & " " & Annee & "\Apporteurs d'affaires\Réel\" & Trim & _
" " & Annee & "\AA " & NumCaisse & " SGG " & Periode & ".xlsx"
Path2 = "P:\FC Luxembourg\Contreparties\Asset Managers\AMUNDI_FCL_296\DOLOMITES\" & Trim & " " & Annee & "\Apporteurs d'affaires\Réel\" & Trim & _
" " & Annee & "\AA " & NumCaisse & " Amundi " & Periode & ".xlsx"

With Message

.to = Destinataire
.CC = Copie
.Subject = Objet
.Display
.HTMLBody = "<font face=""calibri"" style=""font-size:11pt;""> Bonjour," & _
"<br><br>" & _
"Vous trouverez ci-joint le calcul des rétrocessions sur encours pour la période du" & " " & Periode & "." & _
"<br>" & _
"Si vous êtes d'accord avec nos calculs, nous vous invitons à transmettre votre facture par email à l'adresse reco.out@fund-channel.com<mailto:reco.out@fund-channel.com>." & _
"<br><br>" & _
"Pour nous permettre de vous régler dans les meilleurs délais, vous voudrez bien adresser la facture au format PDF :" & _
"<br><br>" & _
"Pour les fonds AAM, à l'adresse suivante :" & _
"<br><br>" & _
"S2G" & _
"<br>" & _
"À L 'attention de Mr Willy SOUPRAYEN" & _
"<br>" & _
"91-93 Boulevard PASTEUR" & _
"<br>" & _
"75730 Paris Cedex 15" & _
"<br><br>" & "Pour les fonds AAM, à l'adresse suivante :" & _
"<br><br>" & "AMUNDI AM" & "<br>" & _
"À L 'attention de Mr Willy SOUPRAYEN" & _
"<br>" & _
"91-93 Boulevard PASTEUR" & _
"<br>" & _
"75730 Paris Cedex 15" & _
.HTMLBody & "</font>"

If Path1 <> False Then Else
.Attachments.Add Path1

If Path2 <> False Then Else
.Attachments.Add Path2

'.Display
'Application.Wait (Now + TimeValue("00:00:03"))
'.Send

End With

Application.Wait (Now + TimeValue("00:00:05"))

Next

Set Outlook = Nothing



End Sub
 

kiki29

XLDnaute Barbatruc
Salut, voir CDO
sans oublier RdB

Pourquoi utiliser le code CDO au lieu de l'automatisation Outlook ou SendMail dans VBA.
1 : Peu importe le programme de messagerie que vous utilisez (il utilise uniquement le serveur SMTP).
2 : Peu importe la version d'Office que vous utilisez (97…2016)
3 : Vous pouvez envoyer une plage/feuille dans le corps du courrier (certains programmes de messagerie ne peuvent pas le faire)
4: Vous pouvez envoyer n'importe quel fichier que vous aimez (fichiers Word, PDF, PowerPoint, TXT,….)
5 : Aucun avertissement de sécurité, vraiment génial si vous envoyez beaucoup de courrier en boucle.
 

Pièces jointes

  • STP Insertion Code.png
    STP Insertion Code.png
    87.7 KB · Affichages: 28