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
'------------------------------------------------------------------------