feuil excel

  • Initiateur de la discussion marc
  • Date de début
M

marc

Guest
Bonjour,
comment faire avec excel une macro pour enregister par ex : la feuil2 et rien que la feuil2 pas tout le fichier dans un dossier enregistrer sous un nom defini.

comment envoyer par mail cette feuil2 qui a ete enregistrer sous ?

et comment imposer une date d'envoi par ex : le 13 et le 27 de chaque mois rien que pour cette feuil 2 a deposer dans un dossier et l'envoyer par mail a la personne désirée.

Merci a vous
 
M

michel

Guest
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
 

Discussions similaires

Statistiques des forums

Discussions
312 396
Messages
2 088 039
Membres
103 706
dernier inscrit
lolaLb02