Macro envoi mail

Saumon80

XLDnaute Occasionnel
Bonjour

Je sais que la question à déjà été posé à de nombreuses reprises sur le forum mais je n'arrive pas à faire fonctionner les macros que je récupère pour envoyer par mail automatiquement une feuille active je pose la feuille en piéce jointe ,en faite il s'agit d'un tableau qui est remplit chaque jour et je souhaiterai ajouter une macro pour l'enregistrer et l'envoyer par mail à 2 destinataires spécifiques avec un message prédéfini ,je souhaiterai l'envoyer via outlook 2010

Merci d'avance
 

Pièces jointes

  • Copie de Fichier de saisie houssage.xlsm
    75.8 KB · Affichages: 44

MichD

XLDnaute Impliqué
Re : Macro envoi mail

Bonjour,

La "manière longue" pour envoyer une feuille du classeur.

Tu peux utiliser la méthode "SendMail" d'un Workbook plus expéditive, mais moins flexible si
tu as de l'information à distribuer lors de l'envoi.

'------------------------------------------------------------------------
Sub test()
Dim objOutlook As Object, Nom As String
Dim objMail As Object, Répertoire As String

Application.ScreenUpdating = False

'Adapte le nom de l'onglet de la feuille que tu veux expédier.
With Worksheets("Formulaire")
'Cette commande copie cette feuille dans un
'nouveau classeur. C'est ce nouveau classeur
'que nous allons envoyé par Courriel
.Copy
End With

'Cette ligne de code définit où le fichier sera enregistré.
'à toi de choisir le chemin du répertoire
Répertoire = "c:\Users\Profile\Documents\"

With ActiveWorkbook
'Le nom du fichier aura le nom de l'onglet de la feuille
Nom = .Sheets(1).Name & ".xlsm"
'Tu adaptes FileFormat selon ta version d'Excel et selon le contenu du fichier.
'xlOpenXMLWorkbookMacroEnabled = "pour les fichiers .xlsm avec macro"
.SaveAs Filename:=Répertoire & Nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)

With objMail
.To = "Destinataire@FournisseurInternet"
.Subject = "Texte de l'objet du courriel"
.Body = "Le message que tu veux écrire dans le corps du message."
.Attachments.Add Répertoire & Nom 'Fichier que l'on vient d'enregistrer
'Si tu désires afficher le message avant de l'expédier, utilise cette
'ligne de code en enlevant l'apostrophe devant la ligne.
'.Display
.Send 'Commande pour expédier le courriel automatiquement.
End With

'Suppression du fichier que l'on vient de créer
Kill Répertoire & Nom

'Libérer l'espace mémoire de ces objets que l'on a créé.
Set objOutlook = Nothing: Set objMail = Nothing

Application.ScreenUpdating = True

End Sub
'------------------------------------------------------------------------
 

Discussions similaires

Réponses
1
Affichages
130
Compte Supprimé 979
C
Réponses
12
Affichages
248

Statistiques des forums

Discussions
312 345
Messages
2 087 473
Membres
103 553
dernier inscrit
jhnm