Macro pour envoyer un mail

  • Initiateur de la discussion Initiateur de la discussion Rémi83
  • Date de début Date de début

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 !

R

Rémi83

Guest
Bonjour le forum,

Je voudrais savoir s'il est possible de créer une macro pour envoyer du courriel. C'est pour mon travail. J'ai créé une feuille de calculs et j'aimerais qu'on puisse l'envoyer à différents destinataires par simple clic sur un bouton marqué 'Envoyer'. A mon avis, un envoi en une seule étape est impossible. Mais allez savoir !...
Merci d'avance de vos aimables contributions.

Rémi.
 
Bonjour,


Voici une macro dénichée sur xld (je remercie son auteur) et qui me rend bien des services, à savoir notamment l'envoi de la feuille active... ce qui évite d'avoir à enregistrer ladite feuille toute seule si on ne veut pas envoyer tout le classeur....

Code:
Sub MacroMail()
Dim AccuseReception As Boolean
Dim Sujet As String
      '
      ActiveWorkbook.Windows(1).SelectedSheets.Copy
      AccuseReception = True
      Sujet = 'Titre au choix'
      ActiveWorkbook.SendMail '', Sujet, AccuseReception
      ActiveWorkbook.Close False
End Sub

Bon courage.
 
Alors là Brigitte t'es rapide

Bon alors en passant par Outlook (et je mets ton adresse mail pour montrer comment ça marche 😉 :woohoo: )

Option Explicit

Sub envoieMail()

Dim Sujet As String, AdresseMail As String, Message As String
Dim NbreRapport As Byte
Dim OL, olMailItem, MyItem

Sujet = 'Attention important'
AdresseMail = 'Brigitte@xld.fr'
Message = 'Veuillez trouver ci-joint le fichier'

Set OL = CreateObject('Outlook.Application')
Set MyItem = OL.CreateItem(olMailItem)
With MyItem
.To = AdresseMail
.Subject = Sujet
.Body = Message
.Attachments.Add 'C:\\tmp\\MonDoc.xls'
.Categories = 'Banking-Info'
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Send
End With

End Sub

Bonne journée
 
Re : Re:Macro pour envoyer un mail

Bonjour,


Voici une macro dénichée sur xld (je remercie son auteur) et qui me rend bien des services, à savoir notamment l'envoi de la feuille active... ce qui évite d'avoir à enregistrer ladite feuille toute seule si on ne veut pas envoyer tout le classeur....

Code:
Sub MacroMail()
Dim AccuseReception As Boolean
Dim Sujet As String
      '
      ActiveWorkbook.Windows(1).SelectedSheets.Copy
      AccuseReception = True
      Sujet = 'Titre au choix'
      ActiveWorkbook.SendMail '', Sujet, AccuseReception
      ActiveWorkbook.Close False
End Sub

Bon courage.


Bonjour,
je ne comprends pas, la fonction ActiveWorkbook.Windows(1).SelectedSheets.Copy
moi je l'ai remplacé par :
.Attachments.Add ActiveWorkbook.Windows.SelectedSheet
Afin d'envoyer uniquement la feuille de calculs et non le classeur en entier.
Bon par contre ça ne fonctionne pas.
Quelqu'un aurait il une idée ?? merki ;o)

gringours
 
Re : Macro pour envoyer un mail

Bonjour

Je "rebondis" sur ces différents échange car je recherche le meme genre de fonction : affecter à un bouton une fonction pour envoyer par mail (via outlook) la feuille Excel en cours...

Si vous avez trouvé une solution cela m'intéresse !! ;-)

Bonne journée
 
Re : Macro pour envoyer un mail

J'utilise ça qui marche sous 2003 et 2007 (j'ai testé que ceux-ci) :

Dim ol As Object
Set ol = CreateObject("Outlook.Application")
Dim olmail As Object
Set olmail = ol.CreateItem(MailItem)
With olmail
.To = "TEST@TEST.FR"
.Subject = "Ceci est le sujet du mail"
.Body = "Dans le message il y'aura sa" & vbCrLf & _
"Sa aussi, mais a la ligne" & lst_nom.Value & vbCrLf & _
.Send
End With

Set ol = Nothing
Set olmail = Nothing

Je pense que qu'il n'y a rien de plus simple pour l'envoi de mail, avec outlook.
 
Re : Macro pour envoyer un mail

Bonjour à tous,

Il n'est pas possible d'envoyer en pièce jointe une feuille d'un fichier ouvert, d'où la nécessité de la copier, puis de détruire la copie.
Il y a plein d'exemples et de techniques différentes en cherchant sur le forum.
Celle-ci fonctionne sous Microsoft OutLook (je n'ai plus hélas le nom de l'auteur, qu'il m'excuse):

Code:
Sub SendEMailwithAttachments()

Dim NouveauClasseur As Workbook
Dim Destinataire As String
Destinataire = [COLOR="Red"]"toto@machin.fr"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]
Dim Objetmessage As String
Objetmessage = [COLOR="Red"]"Pièce jointe"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]

Application.ScreenUpdating = False

ThisWorkbook.Sheets("MaFeuille").Copy [COLOR="SeaGreen"]'feuille que tu veux envoyer[/COLOR]
Set NouveauClasseur = ActiveWorkbook
NouveauClasseur.SaveAs Objetmessage

Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = Destinataire
myItem.Subject = Objetmessage
myItem.Body = [COLOR="Red"]"Bonjour, ceci est un email avec fichier joint"[/COLOR] [COLOR="SeaGreen"]'à adapter[/COLOR]
[COLOR="SeaGreen"]'fichier en cours d'utilisation envoyé en attaché:[/COLOR]
myItem.attachments.Add ActiveWorkbook.FullName
myItem.Send
Set ol = Nothing

Application.DisplayAlerts = False
With NouveauClasseur
.ChangeFileAccess xlReadOnly
Kill .FullName
Application.DisplayAlerts = True
.Close False
End With

End Sub

Cordialement,
Guiv
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
1 K
Réponses
1
Affichages
1 K
Retour