Sauvegarde automatique des pièces jointes des mails reçus vba outlook

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 040 fois - Téléchargée 19 fois

Contenu du snippet

Ce code permet de sauvegarder les pièces jointes des mails recus dans la boite de réception sur un disque local ou réseau avec filtre sur l'adresse mail, le nom de l'expéditeur ou le sujet du mail, ce code est à coller dans l'éditeur VBA d'Outlook

Source / Exemple :


'la procédure se lance à la réception d'un nouveau mail
Private Sub Application_NewMail()
Call sauvegardePJ
End Sub
'procédure de sauvegarde
Sub sauvegardePJ()
    Dim MonApp As Outlook.Application
    Dim MonNameSpace As Outlook.NameSpace
    Dim MonDossier As Outlook.Folder
    Dim MonMail As Outlook.MailItem
    Dim numero As Integer
    Dim strAttachment As String
    Dim NbAttachments As Integer
    Dim chemin As String
    'Instance des objets
    Set MonApp = Outlook.Application
    Set MonNameSpace = MonApp.GetNamespace("MAPI")
    Set MonDossier = MonNameSpace.GetDefaultFolder(olFolderInbox)
    numero = MonDossier.Items.Count
    Set MonMail = MonDossier.Items(numero)
'chemin de destination des pièces jointes
    chemin = "C:\Documents and Settings\Mes documents\"
    NbAttachments = MonMail.Attachments.Count
    'contrôles possibles:nom de l'expéditeur, adresse mail expéditeur et sujet du mail
        'MonMail.SenderName= ""
        'MonMail.SenderEmailAddress
        'MonMail.Subject
        If MonMail.Subject = "Test" Then
            i = 1
                Do While i <= NbAttachments
                strAttachment = MonMail.Attachments.Item(i).FileName
                MonMail.Attachments.Item(i).SaveAsFile chemin & strAttachment
                i = i + 1
                Loop
        End If
End Sub

A voir également

Ajouter un commentaire Commentaires
triborbabor Messages postés 1 Date d'inscription mercredi 11 avril 2018 Statut Membre Dernière intervention 12 avril 2018
12 avril 2018 à 13:16
bonjour merci pour votre code ..mais dites moi il me faut installer le MAPI ou bien ? parce que j'execute le code mais je ne recois pas le fichier joint dans l'endroit spécifié ..help pliz
Bonjour,

j'ai Outlook 2010, est la macro ne fonctionne pas automatiquement a la réception d'un nouveau mail, en-revanche elle fonctionne manuellement (execution depuis Outlook) pouvez vous m'aider svp merci.

Private Sub Application_NewMail()
Call sauvegardePJ
End Sub

Sub sauvegardePJ()
Dim MonApp As Outlook.Application
Dim MonNameSpace As Outlook.NameSpace
Dim MonDossier As Outlook.Folder
Dim MonMail As Outlook.MailItem
Dim numero As Integer
Dim strAttachment As String
Dim NbAttachments As Integer
Dim chemin As String
'Instance des objets
Set MonApp = Outlook.Application
Set MonNameSpace = MonApp.GetNamespace("MAPI")
Set MonDossier = MonNameSpace.GetDefaultFolder(olFolderInbox)
numero = MonDossier.Items.Count
Set MonMail = MonDossier.Items(numero)
'chemin de destination des pièces jointes
chemin = "C:\test\"
NbAttachments = MonMail.Attachments.Count
'contrôles possibles:nom de l'expéditeur, adresse mail expéditeur et sujet du mail
'MonMail.SenderName = ""
'MonMail.SenderEmailAddress
'MonMail.Subject
If MonMail.Subject = "Test" Then
i = 1
Do While i <= NbAttachments
strAttachment = MonMail.Attachments.Item(i).FileName
MonMail.Attachments.Item(i).SaveAsFile chemin & strAttachment
i = i + 1
Loop
End If
End Sub
anthooooony Messages postés 28 Date d'inscription mercredi 1 février 2012 Statut Membre Dernière intervention 17 avril 2013
9 nov. 2012 à 18:53
rien dis.. c ok pour moi
jbernades Messages postés 9 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 22 mai 2015
24 mai 2010 à 10:48
Bonjour,
Je cherche un code pour alimenter les contacts Outlock 2007 avec MDB Acces 2003 en liant la table de manniere à ce que les modifications se mettent a jour ds les 2 sens.
Ce n'est pas en lien direct avec ce post, mais vous pourrez peut être me donner des pisteS, je suis débutant
Merci d'avance
houtas Messages postés 116 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 29 août 2013
27 avril 2010 à 10:18
Bonjour,

Le code fonctionne sous 2007, j'ai pas testé sous 2010 mais ca devrait fonctionner en revanche ne pas tenir compte de la remarque de PDEBAERE car la propriété .MAPIFolder n'existe pas en 2007

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.