Mail automatique avec pj
Bonjour à tous,
Je voudrai envoyer un email automatique avec destinataires +documents en pièces jointes sous conditions :
J'ai trouvé dans le forum le code avec lequel j'arrive à envoyer un email avec pieces jointes fixes c'est à dire dont le nom du fichier ne change pas (attachement.add)
Par contre :
- je souhaiterai que la macro sélectionne dans un répertoire donné uniquement les documents (excel+word) du jour. Par exemple si dans ce répertoire sont présents des documents de la veille la macro ne doit en aucun cas les prendre en compte uniquement ceux du jour.
- comme il peu y avoir plusieurs documents, il faudrait une boucle.
J'ai besoins de votre aide pour écrire mon code en respectant la syntaxe vba ;
Voici mon code (format brut)
For each files in folder
if file.lastmodifieddate=date then
....la macro doit compiler tous les documents du jour et les ajouter en pièces jointe du mail
Sauriez-vous comment procéder ?
Merci par avance pour votre aide !
Tarik.
Bonjour,
Pour ne voir que les fichiers (Excel ou Word) du jour,
une possibilité serait de créer un Userform avec un ListView1
Private Sub UserForm_Initialize()
Dim fso As Object, sfoFolder As Object, fl As Object, sFolder As String, v1, v As Double, dt As Double
sFolder = "C:\Users\isabelle\Documents\test ADODB" ' à adapter
Set fso = CreateObject("Scripting.FileSystemObject")
Set sfoFolder = fso.GetFolder(sFolder)
With ListView1
With .ColumnHeaders
.Clear
.Add , , "", 15
.Add , , "Fichier", 200
.Add , , "Date_Created", 120
End With
'Liste_fichies_XLS_DOC_DuJour
For Each fl In sfoFolder.Files
v1 = Split(fl, ".")
If v1(UBound(v1)) Like "xls*" Or v1(UBound(v1)) Like "doc*" Then
v = DateValue(fl.DateCreated) 'fl.DateLastModified
dt = Date
If v = dt Then
.ListItems.Add , , ""
.ListItems(.ListItems.Count).ListSubItems.Add , , Right(fl, Len(fl) - Len(sfoFolder) - 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , fl.DateCreated
End If
End If
Next
End With
ListView1.View = lvwReport
End Sub
Salut i20100
Dsl pour la réponse tardive merci !