Macro pour séparer une feuille du classeur pour l’envoyer par email + corps d’emails

  • Initiateur de la discussion Initiateur de la discussion mariana
  • 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 !

mariana

XLDnaute Nouveau
Bonjour tous
J’aimerai savoir si quelqu’un connais une solution à mon problème et qui a envie de m’aider 

Je n’ai pas trouvé une réponse à mon problème sur le forum
Le voici
J’ai un classeur duquel j’aimerai
Envoyer la feuille 1 a une liste de destinataires X via outlook
Insérer un objet du email « reporting hebdo »
Insérer un corps d’email, ou il y a un texte qui change notament les dates .Exemple « Bonjour ‘NOM DE LA PERSONNE ‘ Voici en pièce jointe le reporting MTD du 1 au 12 octobre »
Signature automatique outlook

Envoyer la feuille 2 a une liste de destinataires Y via outlook
Insérer un objet style « reporting hebdo »
Insérer un corps d’email, ou il y a un texte qui change notament les dates .Exemple « Voici en piece jointe le reportind MTD de 1 au 12 octobre »
Signature automatique outlook

Etc, etc, j’ai 10 feuilles à faire envoyer + 10 listes différentes.

Je me contenterai de que ma macro prépare les emails et moi changer à la mano les dates et le nom de mon contact dans le corps de l’email « Bonjour Sébastian »


Merci d’avance pour votre attention,
md
 

Pièces jointes

Re : Macro pour séparer une feuille du classeur pour l’envoyer par email + corps d’em

Bonjour JBarbe,
la macro marche, mais ce n'est pas exactement ce que je cherchais... car je dois avoir uns eul nom par email et rajouter une seule feuille du classeur en pj.
mais merci, je continue à essayer.
 
Re : Macro pour séparer une feuille du classeur pour l’envoyer par email + corps d’em

re

je n'ai pas outlook et ne peut essayer !
mais j'ai cette routine !

Code:
Private Sub EnvoiMailOutlookAvecFeuilJointe()
Dim OutApp As Object, OutMail As Object, NewB As Workbook
'---- variables nécessaire ------------
NomDuClasseur$ "NomDeLaPieceJointe.xls" ' avec son extention !
NomDeLaFeuille$ = "Feuil3"
AdresMail$ = "nom@site.fr"
AdresMailCC$ = "nom@site.fr"
AdresMailBCC$ = "nom@site.fr"
Sujet$ ""
Message$ = ""
'--------------------------------------

' Copie la feuille (ce qui cré un nouveau classeur qui devient actif)
CheminFichier$ = ThisWorkbook.Path & "\" & NomDuClasseur$ 'ajoute le chemin
Sheets(NomDeLaFeuille$).Copy
Set NewB = ActiveWorkbook
ActiveWorkbook.SaveAs CheminFichier$
' ENVOI
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error GoTo ErreurNET
With OutMail
 .To = AdresMail$
 .CC = AdresMailCC$
 .BCC = AdresMailBCC$
 .Subject = Sujet$
 .Body = Message$
 .Attachments.Add NewB.FullName
 .Display
End With
' close le classeur et le supprime du disque
ActiveWorkbook.Close
Kill CheminFichier$
' fin
Set OutApp = Nothing: Set OutMail = Nothing: Set NewB = Nothing
On Error GoTo 0: Err.Clear
Exit Sub
ErreurNET: ' sous prog erreur
Msg$ = "Erreur " & Err.Source & "  No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
On Error GoTo 0: Err.Clear
End Sub

Code:
Private Sub EnvoiMailOutlook()
Dim OLApplication As Outlook.Application, OLMail As Outlook.MailItem
Set OLApplication = CreateObject("Outlook.Application")
Set OLMail = OLApplication.CreateItem(OLMailItem)
With OLMail
      .To = "toto@toto.fr" ' Destinataire
      .CC = "titi@titi.fr" ' Copie
      .BCC = "tutu@tutu.fr" ' Copie invisible
      .Importance = olImportanceNormal
      .Subject = "Coucou" ' Sujet
      .Body = "Bonjour chez vous" & vbCrLf & "Tata" ' Message
      .Attachments.Add "C:\Pièce à joindre.pdf" ' Pièce jointe
      .Categories = "Daily"
      .OriginatorDeliveryReportRequested = True ' Accusé de dépôt
      .ReadReceiptRequested = True ' Accusé de lecture
      'Send et Display ne doivent pas être utiliser simultanément
     '.Send '<<<<<<<<<<<< Pour envoyer directement
      .Display '<<<<<<<<< Pour voir le mail avant envoi
End With
Set OLApplication = Nothing: Set OLMail = Nothing
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

Retour