XL 2010 Email piece jointe

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

jean123

XLDnaute Occasionnel
Bonjour à tous, étant novice en la matière, je sollicite votre aide.
J'ai ce bout de code qui me permet d'envoyer un mail avec une pièce jointe en PDF à partir d'une feuille Excel, mais cela ne fonctionne pas, car la feuille en question est masquée (feuil 5) et j'aimerai quelle le reste.
l'adresse d'enregistrement du PDF est différente de celle du classeur, mais je n'arrive pas à enregistrer le PDF où je veux
Pouvez, vous m'aidez


Private Sub EnvoisMail()

Dim OutlookApp As Object
Dim Mail As Object
Dim curfile

Set OutlookApp = CreateObject("Outlook.Application")
Set Mail = OutlookApp.CreateItem(0)

curfile = ThisWorkbook.Path & "\" & Range("C3").Value & "_" & Range("C8").Value & ".Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=curfile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

With Mail
.SentOnBehalfOfName = "boite mail"
.To = ActiveSheet.Range("C10").Text
.Subject = "Duplicata De Reçu "

.HTMLBody = "<br><br>" & GetBoiler("adresse fichier htm")
.Attachments.Add curfile
.Send
End With
ActiveWorkbook.Save

End Sub
 
Re : Email piece jointe

nickel merci pour l'info
par-contre pour cibler la feuille masquée (feuille 5) je fais comment sur ce bout de code ? sachant que je souhaite enregistrer le pdf sur une autre adresse que celle du classeur

curfile = ThisWorkbook.Path & "\" & Range("C3").Value & "_" & Range("C8").Value & ".Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=curfile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
 
Re : Email piece jointe

comme ceci
j'ai un message d'erreur

curfile = ThisWorkbook.Path & "\" & Range("C3").Value & "_" & Range("C8").Value & ".Pdf"
sheets("Feuil5").ExportAsFixedFormat Type:=xlTypePDF, Filename:=curfile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
 
Re : Email piece jointe

Qd chose comme ça :
VB:
Private Sub EnvoisMail()

Dim OutlookApp As Object
Dim Mail As Object
Dim curfile

'Cache les événements à l'écran
Application.ScreenUpdating = False

Set OutlookApp = CreateObject("Outlook.Application")
Set Mail = OutlookApp.CreateItem(0)
'Affiche la feuille
Sheets("Feuil5").Visible = True
curfile = ThisWorkbook.Path & "\" & Range("C3").Value & "_" & Range("C8").Value & ".Pdf"

Sheets("Feuil5").ExportAsFixedFormat Type:=xlTypePDF, Filename:=curfile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'Masque la feuille
Sheets("Feuil5").Visible = False

With Mail
  .SentOnBehalfOfName = "boite mail"
  .To = ActiveSheet.Range("C10").Text
  .Subject = "Duplicata De Reçu "
  .HTMLBody = "<br><br>" & GetBoiler("adresse fichier htm")
  .Attachments.Add curfile
  .Send
End With
ActiveWorkbook.Save
End Sub

A+
 
Re : Email piece jointe

j'ai un message d'erreur sur .send

Sans titre.png
 
Re : Email piece jointe

Ca doit bloquer sur GetBoiler si tu n'as pas de fonction correspondante.

Fais un essai en mettant un texte bidon du type .HTMLBody = "<br><br>" & "Bonjour"

Mais il serait bien d'avoir un fichier sans données confidentielles car si on continu comme ça on va pouvoir écrire un roman 😉
 
Re : Email piece jointe

voila le code complet peut être ce sera plus clair pour toi

Private Sub EnvoisMail()

Dim OutlookApp As Object
Dim Mail As Object
Dim curfile
Const olFormatHTML = 2
'Cache les événements à l'écran
Application.ScreenUpdating = False

Set OutlookApp = CreateObject("Outlook.Application")
Set Mail = OutlookApp.CreateItem(0)
'Affiche la feuille
Sheets("feuil5").Visible = True
curfile = ThisWorkbook.Path & "\" & Range("C3").Value & "_" & Range("C8").Value & ".Pdf"

Sheets("feuil5").ExportAsFixedFormat Type:=xlTypePDF, Filename:=curfile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'Masque la feuille
Sheets("feuil5").Visible = False

With Mail
.SentOnBehalfOfName = "boitemail@tructruc.fr"
.To = ActiveSheet.Range("C10").Text
.Subject = "Duplicata De Reçu "
.Body = olFormatHTML
.HTMLBody = "<br><br>" & GetBoiler("adresse htm")
.Attachments.Add curfile
.Send
End With
ActiveWorkbook.Save
End Sub


Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function
 
- 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 Problème macro
Réponses
4
Affichages
248
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
820
Réponses
2
Affichages
811
Réponses
10
Affichages
549
Réponses
3
Affichages
676
Retour