Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
'------------------------------------------------------------------------
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
570
Réponses
1
Affichages
437
Compte Supprimé 979
C
Réponses
2
Affichages
995
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
985
Retour