XL 2016 Envoyer mail avec pj en automatique

sebetclaire

XLDnaute Nouveau
Bonjour
J'ai un classeur avec un onglet par personne.
J'ai créé une macro qui me crée un classeur excel par onglet. Les classeurs ont le nom des personnes.
Je souhaiterais maintenant crée en automatique un mail par personne avec en pj le fichier à leur nom.
Il s'agit de 21 classeurs que je dois envoyer toutes les semaines.
Est-ce possible ?
Merci de votre aide.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, sebetclaire

sebetclaire
Oui, c'est possible
Voir déjà tout en bas de page, les discussions similaires (pour y puiser piste de réflexion et inspiration)
 

sebetclaire

XLDnaute Nouveau
Finalement je ne suis pas partie sur la création d'un classeur par feuille. mais j'envoie le mail depuis le classeur initial.
Voici le macro
Sub envoimail()
Dim OlApp As Object, OlMail As Object
Dim Adr1$, Chemin$, Fichier$, Nom$, Rep_Xlsx

Chemin = ThisWorkbook.Path & "\"
Nom = ActiveSheet.Name
adr = ActiveSheet.Range("a1").Value
ActiveSheet.Copy

Application.DisplayAlerts = False
ActiveSheet.SaveAs Filename:=Chemin & Nom & ".xlsx"
ActiveWorkbook.Close True

Set OlApp = CreateObject("Outlook.Application")
Set OlMail = OlApp.CreateItem(0)
Fichier = ThisWorkbook.Path & "\" & Nom & ".xlsx"

With OlMail
.To = adr 'Envoyer à
.Subject = "FACTURES" 'Sujet
.Body = "Bonjour," 'Corps du message
.Attachments.Add Fichier 'Fichier en pièce jointe
.Display
'.Send 'Envoi direct
End With

'OlApp.Quit
Set OlMail = Nothing
Set OlApp = Nothing

Rep_Xlsx = Dir(Chemin & "*.xlsx")
Do While Rep_Xlsx <> ""
Kill Chemin & Rep_Xlsx
Rep_Xlsx = Dir
Loop

End Sub
 

Discussions similaires


Haut Bas