Microsoft 365 Envoi par mail: 1 adresse mail par onglet Excel

Comptable 1

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier Excel, avec environs 20 onglets, et je souhaiterais envoyer chaque onglets séparément par mail (pas toujours les même adresses mail) de façon automatique.

Pensez vous que cela puisse se faire ? Et si oui, pourriez vous m'indiquer comment faire ?

En vous remerciant par avance

Bonne journée :)
 
Solution
Bonjour,
Oups, autant pour moi. Essaie :
VB:
Sub Mail()
  Dim olApp As Object, M As Object, Sh As Worksheet, Wbk As Workbook, Txt As String
  Set olApp = CreateObject("Outlook.application")
  For Each Sh In ThisWorkbook.Sheets
    Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      Sh.Name, Quality:= _
      xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
      OpenAfterPublish:=False
    Set M = olApp.CreateItem(olMailItem)
    With M
      .Subject = "Objet"
      '.Body = "Body"
      .Recipients.Add Sh.[A1].Value
      .attachments.Add ThisWorkbook.Path & "\" & Sh.Name & ".pdf"
'      .display
      .Send
    End With
  Next Sh
End Sub

Comptable 1

XLDnaute Nouveau
Bonjour,

Merci pour le retour rapide !

Je ne comprends pas, car le PDF se créer lorsque je lance la macro, il ne devrait pas s'enregistrer où se situe mon classeur ?

Parce que du coup j'ai utiliser cette macro sur plusieurs fichiers

A la base mon classeur était dans mes téléchargements, et je l'ai déplacé dans un autre dossier.

Merci
 

danielco

XLDnaute Accro
Essaie comme ça :

VB:
Sub Mail()
  Dim olApp As Object, M As Object, Sh As Worksheet, Wbk As Workbook, Txt As String
  Set olApp = CreateObject("Outlook.application")
  For Each Sh In ThisWorkbook.Sheets
    Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      ThisWorkbook.Path & "\" & Sh.Name, Quality:= _
      xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
      OpenAfterPublish:=False
    Set M = olApp.CreateItem(olMailItem)
    With M
      .Subject = "Objet"
      '.Body = "Body"
      .Recipients.Add Sh.[A1].Value
      .attachments.Add ThisWorkbook.Path & "\" & Sh.Name & ".pdf"
'      .display
      .Send
    End With
  Next Sh
End Sub

Daniel
 

Discussions similaires

Réponses
16
Affichages
522

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote