Bonjour,
Après nouveau test, il y avait une errreur de chemin de ma part dans le code
Filepath = Filepath = "C:\VotreChemin\"
il faut lire :
Filepath = "C:\VotreChemin\"
Ci-après le nouveau code pour enregistrer le courrier sous forme de fichier
Sub EnregistrerMail()
Dim MailItem As Outlook.MailItem
Dim Filepath As String
Dim Filename As String
' Définir le chemin d'accès où vous voulez enregistrer l'e-mail
Filepath = "C:\VotreChemin\"
' Vérifier si un e-mail est sélectionné
If TypeName(Outlook.Application.ActiveWindow) = "Inspector" Then
Set MailItem = Outlook.Application.ActiveInspector.CurrentItem
Else
Set MailItem = Outlook.Application.ActiveExplorer.Selection.Item(1)
End If
' Définir le nom du fichier avec la date de réception ou d'envoi
Filename = Format(MailItem.ReceivedTime, "yyyy-mm-dd") & " " & MailItem.Subject & ".msg"
' Enregistrer l'e-mail en tant que fichier .msg
MailItem.SaveAs Filepath & Filename, olMSG
End Sub
si tu souhaites modifier le nom du fichier .msg avant l'archivage, tu peux modifier le nom avec cette partie de code, via une InputBox
' Demander à l'utilisateur s'il veut modifier le nom du fichier
UserInput = InputBox("Voulez-vous modifier le nom du fichier ?", "Modifier le nom du fichier", Filename)
' Si l'utilisateur a cliqué sur Cancel, UserInput sera vide
If UserInput <> "" Then
Filename = UserInput
End If
' Enregistrer l'e-mail en tant que fichier .msg
MailItem.SaveAs Filepath & Filename, olMSG
J'ai aussi un autre moyen pour archiver directement un mail via Outlook et sans passer par Excel.
Bonne journée