Re: copier une feuille , la sauvegarder et l'envoyer par mail
bonjour Marc
la macro ci dessous permet de copier la feuille2 et de l'enregistrer dans un repertoire ( dans l'exemple c'est le meme dossier que le classeur d'origine , mais tu pourras l'adapter en fonction de ton projet ) . le fichier enregistré est fermé , puis envoyé par mail sans message de confirmation .
pour ce qui est d'activer la procedure à un date bien précise tu pourrais utiliser le planificateur de taches de Windows
Sub CopieFeuilleEtEnvoiMail()
'testé avec XP
Dim Fichier As String
Dim iMsg As Object, iConf As Object, iBP As Object
Const cdoSendUsingPickup = 1
Fichier = "Enregistrement " & Format(Date, "d mmmm yyyy") & " " & Format(Time, "h mm ss") & ".xls"
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Feuil2").Copy 'creer un nouveau classeur contenant uniquement la feuille cible
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Fichier
' enregistrement nouveau classeur (possibilité d'adapter le chemin et le nom du fichier)
ActiveWorkbook.Close 'fermer le classeur enregistré
'envoi mail
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
With iMsg
Set .Configuration = iConf
.To = "michelxld@yahoo.fr" 'destinateire
.Subject = "Message du forum Xld" 'sujet
.HTMLBody = "Ci joint les dernieres données mises à jour ..." 'corps du message
Set iBP = iMsg.AddAttachment(ThisWorkbook.Path & "\" & Fichier) 'piece jointe
.Send 'envoi
'l'envoi se fait sans message de confirmation et sans copie dans les elements envoyés
End With
Application.ScreenUpdating = True
End Sub
bon dimanche
MichelXld