Microsoft 365 Envoi mail macro avec bouton

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 !

homernell

XLDnaute Occasionnel
Bonjour à tous,

J'aurai besoin de votre aide, j'ai une super macro pour un envoi de mail qui génère un onglet en pdf.

Sauf que je souhaiterai deux choses :
  • pouvoir envoyer plusieurs onglets
  • choisir le format d'envoi
Est ce possible, s'il vous plait.

Merci d'avance, voici la copie de la macro :

Sub Mail()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim S As Shape
Dim sNomFic As String, sRep As String, WshShell As Object


With Application
.ScreenUpdating = False
.EnableEvents = False
End With

' Créer une instance Windows Script pour retrouver le chemin du bureau
Set WshShell = CreateObject("WScript.Shell")
sRep = WshShell.SpecialFolders("Desktop")
Set WshShell = Nothing
' Définit le nom du fichier à enregistrer
sNomFic = "Entrées du jour.pdf"
' Enregistrer la feuille en PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = "moi@gmail.com"
.CC = ""
.Attachments.Add (sRep & "\" & sNomFic)
.Subject = "Résultats du jour et suivis divers"
.Display
End With

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Kill (sRep & "\" & sNomFic)
End Sub
 
Sauf que je souhaiterai deux choses :
  • pouvoir envoyer plusieurs onglets
  • choisir le format d'envoi

' Enregistrer la feuille en PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Bonjour,
Pour envoyer plusieurs feuilles en format PDF :
Worksheets(Array("Feuil1", "Feuil2",.....)).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF,.....

Quels sont les autre types de format que vous ciblez ? car le seul export de feuilles multiples ne peut se faire qu'en PDF .
Sinon, il faut passer par un classeur temporaire et le sauvegarder ...
 
Bonjour,
Pour envoyer plusieurs feuilles en format PDF :
Worksheets(Array("Feuil1", "Feuil2",.....)).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF,.....

Quels sont les autre types de format que vous ciblez ? car le seul export de feuilles multiples ne peut se faire qu'en PDF .
Sinon, il faut passer par un classeur temporaire et le sauvegarder ...
Tout d'abord merci de votre retour.

Par contre je l'insère ou le worksheets ou à la place de quoi ?

Autres types de format se serait tout bêtement le format excel.

Merci d'avance
 
Insérer dans le code que vous avez indiqué juste après le commentaire et avant l'export
' Enregistrer la feuille en PDF
Worksheets(Array("Feuil1", "Feuil2",.....)).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
 
- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
637
Réponses
4
Affichages
361
Réponses
2
Affichages
717
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
386
Retour