Envoie d'une feuille par mail avec réception sans modifier les dates
r
bonjours à tous, voilà je débute en terme de VBA et j ai un soucis avec un code que j ai récupéré sur le net et il fonctionne très bien à une exception près, car mon dans mon classeur j ai activé l option "Utiliser le calendrier depuis 1904" pour des calculs d'heure en négatif, en bref le code que j utilise me permet d'envoyer une feuille active en PDF par Outlook a une adresse précise et comme ma feuille contient des des cellules avec des dates actuel et du coup elles sont modifier lorsque j ouvre le mail sur lequel je l'ai envoyé.
je joint le code pour compréhension
Sub Envoie_par_mail()
'Fonctionne sous excel 2000-2013
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
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
'Copie la feuille active comme nouvelle feuille
ActiveSheet.Copy
Set destwb = ActiveWorkbook
'Désactiver fenêtre de compatibilité
Application.DisplayAlerts = False
'----------------------------------------------------------------------------
'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime
'----------------------------------------------------------------------------
TempFilePath = Environ$("temp") & "\"
TempFileName = ActiveSheet.Name
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
With destwb
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & TempFileName & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False ' sauvegarde du fichier au format pdf
On Error Resume Next
With OutMail
.To = "adresse@gmail.com"
.CC = ""
.bcc = ""
.Subject = "feuille de travail du jour"
.Attachments.Add TempFilePath & TempFileName & ".pdf"
.Body = "Bonjour, le message a mettre dans le mail "
'.display 'ou alors utiliser
.Send 'pour envoi
End With
On Error GoTo 0
.Close savechanges:=False
End With
'Effacer le fichier envoyé
Kill TempFilePath & TempFileName & ".pdf"
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Subsi quelqu'un peut me dépanner se serait vraiment sympas merci.