VBA : Envoi de plusieurs feuilles d'un Classeur via outlook

Bonjour

Débutante en VBA

J'ai un classeur avec un ensemble de données de travail pour infiné avoir le résultat dans 2 ou 3 onglets, que je souhaite envoyé par outlook.

Voici déjà réussi pour un onglet à sauvegarder et à faire mon mail avec la pièce jointe, mais je souhaiterais pourvoir rajouter un voir onglet supplémentaire au m^me mail.

Voici le code que j'ai crée :

Sub ENVOIANALYTIQUE()
' ENVOIANALYTIQUE Macro

'Declaration variable sauvegarde
Dim NomDossier As String ' Nom du Dossier
Dim Chemin As String ' Chemin de sauvegarde
Dim MaFeuille1 As Worksheet ' Ma feuille excel Analytique
Dim MonFichier As Workbook ' Mon nouveau fichier juste avec MaFeuille

'Déclaration des variables pour Mail
Dim Mamessagerie As Object 'Messagerie Outlook
Dim MonMessage As Object 'Le message à envoyer
Dim MonContenu As String 'Le contenu du message
Dim AdresseEmail As String 'Adresse mail du destinataire
Dim MonTDB As String 'Le nom du fichier joint Analytique
Dim MonClasseur As String 'Nom du classeur

'Affectation des variables
Set Mamessagerie = CreateObject("Outlook.Application")
Set MonMessage = Mamessagerie.createItem(0)
AdresseEmail = "xxx@yahoo.fr"
MonTDB = "PAIE PAR IMPUTATION ANALYTIQUE"

'Chemin de sauvegarde
Chemin = "D:\2021-02\TRANSMIS\"

'Ceation de mon fichier Excel d'envoie
Sheets("ANALYTIQUE").Select 'Selection de la feuille
Set MaFeuille1 = Sheets("ANALYTIQUE") 'cree mon object vba (j'assigne ma feuille a un nom object)
MaFeuille1.Copy
ActiveWorkbook.SaveAs Filename:=Chemin & MonTDB & ".xlsx"

'fermer le fichier excel
ActiveWorkbook.Close

'Création du message
With MonMessage
.to = "yyy@hotmail.com;www@outlook.fr" 'Destinataire du message
.cc = "ooooo@yahoo.com" 'Destinataire en copie du message
.Subject = "IMPUTATION PAIE"

MonContenu = "Bonjour à tous ," & vbNewLine & vbNewLine & _
"Veuillez trouver ci-joint les fichiers suivants :" & vbNewLine & _
"- Impacts de la paie sur les EOTP(s) ainsi que les centres de coûts" & vbNewLine & _
"- Impacts par Destinations LOLF" & vbNewLine & vbNewLine & _
"Bien à vous" & vbNewLine & vbNewLine & _
"Madame XXXX" & vbNewLine & _

' On affecte le contenu dans le corps du message
.Body = MonContenu

'On récupère le nom du fichier dans une variable
MonChemin = ActiveWorkbook.Path & "\" & MonTDB & ".xlxs"

'on Attache le fichier
.Attachments.Add ("D:\2021-02\TRANSMIS\PAIE PAR IMPUTATION ANALYTIQUE.xlsx")

'On envoi le message
.display
End With

'On libere la mémoire de la messagerie Outlook
Set Mamessagerie = Nothing
End Sub

Je vous remercie pour votre aide

Bonne soirée

Bonjour Soulas et

Une petite présentation ICI serait la bienvenue

Sinon, quand vous mettez du code, merci de le mettre entre balises avec le bouton </>

Pour votre demande il faut changer les lignes

'Ceation de mon fichier Excel d'envoie
Sheets("ANALYTIQUE").Select 'Selection de la feuille
Set MaFeuille1 = Sheets("ANALYTIQUE") 'cree mon object vba (j'assigne ma feuille a un nom object)
MaFeuille1.Copy
ActiveWorkbook.SaveAs Filename:=Chemin & MonTDB & ".xlsx"

par

  ' Copies des feuilles souhaitées dans un nouveau classeur
  Sheets(Array("ANALYTIQUE", "FEUILLE2", "FEUILLE4")).Copy
  ' Enregistrement du classeur
  ActiveWorkbook.SaveAs Filename:=Chemin & MonTDB & ".xlsx"

En changeant le nom des feuilles bien entendu

@+

Bonjour

Super, merci beaucoup.

Cela fonctionne

Bonne Journée

Rechercher des sujets similaires à "vba envoi feuilles classeur via outlook"