Bonjour à toutes et à tous
Une fois de plus je sollicite votre aide.
Grâce à différentes sources (dont votre généreuse communauté), j'ai élaboré le code suivant, qui permet d'envoyer, à différents collaborateurs, des fichiers hebdo PDF.
La valeur de la cellule A50 est, par formule
, le chemin du répertoire contenant les fichiers PDF à envoyer.
Cet outil ayant vocation à être partagé, le nombre de fichiers PDF présents dans le répertoire d'envoi (répertoire aléatoire suivant les utilisateurs, d'où la formule en A50) est variable de 5 à 11.
Mon code comportant 11 adresses de pièces jointes, la macro plante lorsque le répertoire contient moins de fichiers, cherchant des fichiers qui n'existent pas.
Comment puis-je corriger le code pour qu'il fonctionne, quelque soit le nombre de fichiers présents dans le répertoire d'envoi?
Enfin, d'une manière générale, mon code peut-il être allégé?
Bien cordialement
Une fois de plus je sollicite votre aide.
Grâce à différentes sources (dont votre généreuse communauté), j'ai élaboré le code suivant, qui permet d'envoyer, à différents collaborateurs, des fichiers hebdo PDF.
Code:
Sub envoyer()
PDF
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = "" & Sheets("Mail").[A2] & ";" & Sheets("Mail").[A3] & ";" & Sheets("Mail").[A4] & ";" & Sheets("Mail").[A5] & ";" & Sheets("Mail").[A6] & ";" & Sheets("Mail").[A7] & ";" & Sheets("Mail").[A8] & ";" & Sheets("Mail").[A9] & ";" & Sheets("Mail").[A10] & ";" & Sheets("Mail").[A11] & ";" & Sheets("Mail").[A12] & ";" & Sheets("Mail").[A13] & ";" & Sheets("Mail").[A14] & ";" & Sheets("Mail").[A15] & ";" & Sheets("Mail").[A16] & ";" & Sheets("Mail").[A17] & ";" & Sheets("Mail").[A18] & ""
.CC = "" & Sheets("Mail").[B2] & ";" & Sheets("Mail").[B3] & ";" & Sheets("Mail").[B4] & ";" & Sheets("Mail").[B5] & ";" & Sheets("Mail").[B6] & ";" & Sheets("Mail").[B7] & ";" & Sheets("Mail").[B8] & ""
.Subject = "Résultats"
.Body = "Bonjour"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A3").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A4").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A5").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A6").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A7").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A8").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A9").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A10").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A11").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A12").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\" & Range("A13").Value & ".pdf"
.Attachments.Add "" & Range("A50").Value & "\TDB_QS_Hebdo v2-2013.xls"
.Display 'Display
'On peut switcher entre .send et .display selon que l'on veut envoyer le mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub
La valeur de la cellule A50 est, par formule
Code:
=GAUCHE(CELLULE("filename";EXTRACTION!A1);TROUVE("[";CELLULE("filename";EXTRACTION!A1))-2)
Cet outil ayant vocation à être partagé, le nombre de fichiers PDF présents dans le répertoire d'envoi (répertoire aléatoire suivant les utilisateurs, d'où la formule en A50) est variable de 5 à 11.
Mon code comportant 11 adresses de pièces jointes, la macro plante lorsque le répertoire contient moins de fichiers, cherchant des fichiers qui n'existent pas.
Comment puis-je corriger le code pour qu'il fonctionne, quelque soit le nombre de fichiers présents dans le répertoire d'envoi?
Enfin, d'une manière générale, mon code peut-il être allégé?
Bien cordialement