Microsoft 365 Envoi mail macro avec bouton

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
 

fanch55

XLDnaute Barbatruc
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 ...
 

homernell

XLDnaute Occasionnel
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
 

fanch55

XLDnaute Barbatruc
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
 

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof