Macro Outlook pour la suppression des pièces jointes

Je suis un gros utilisateur d’Outlook au travail. Autant il est possible de détacher en une fois l’ensemble des pièces jointes reçues avec un e-mail autant je n’ai jamais compris pourquoi il est n’y avait pas une fonctionnalité permettant de supprimer l’ensemble de ces même pièces jointes. Voici une macro qui permet de remédier à ce manque. Il vous suffira ensuite de l’associer à un boutons dans votre barre d’outil et éventuellement d’y associer un raccourci clavier.

Sub supprimerAttachement() ‘Macro destinée à supprimer les pieces jointes d’un e-mail

Dim OlApp As Outlook.Application Dim objItem As Outlook.MailItem Dim compteur As Integer Dim nomFichier As String

Set OlApp = New Outlook.Application

On Error Resume Next

For Each objItem In Application.ActiveExplorer.Selection compteur = objItem.Attachments.Count

If compteur > 0 Then ‘introduction d’une ligne de séparation dans le corps du mail objItem.Body = « ————–  » & vbCr & objItem.Body End If

Do While compteur > 0 ‘place le nom du fichier qui va être supprimé dans le corps du mail nomFichier = objItem.Attachments.Item(1).FileName objItem.Body = « >> Attachement:  » & nomFichier & vbCrLf & objItem.Body objItem.Attachments.Remove (1) ‘suppression de la piece jointe objItem.Save    ‘enregistrer le message pour remettre à jour la collection d’attachement compteur = compteur – 1 Loop

Next

Set objItem = Nothing End Sub

7 Réponses

  1. Bonjour,

    Génial cette macro. Je l’ai utilisé pour certains de mes utilisateurs qui recoivent de grosses pièces jointes sans qu’ils soient concernés par le contenu.

    Par contre, lorsque nous avons effectués une recherchre avancés sur les mails ayants des pièces jointes puis ouvert ces mails et cliqué sur le bouton, ce la ne marche pas. En faite c’est dès que l’on ouvre un mail issue de’une recherche ? Une idée ? Je n’arrive pas a voir le problème (et encore moins la solution)

    Merci

    Arnaud

  2. Bonjour Arnaud,
    Content que la macro te serve.
    Pour revenir à ton problème, à priori cela vient du fait que les objets retournés par la fenêtre de recherche avancée ne sont des instances de « MailItems ».
    Pour y remédier il semble donc qu’il faille modifier un peu la macro pour qu’elle s’appuie sur les objets search et results.
    Bon courage

  3. Bonjour,
    ce que vous avez mis c’est exactement ce qu’il me faut sauf que je n’y arrive pas pourrais-je avoir plus de détails pour mettre au pt cette macro

    merci d’avance

  4. Bonjour,
    Pour gérer les pièces jointes j’utilise attachment remover, qui permet d’extraire les pièces jointes vers un répertoire de windows, en les remplaçant éventuellement par un lien vers le fichier.
    * mon article là dessus : http://leblogdejean.wordpress.com/2008/10/07/outlook-enregistrer-en-masse-vos-pieces-jointes/
    * le site de l’extension : http://www.kopf.com.br/outlook/ (rendre à César…)

  5. Bonjour,
    je reviens sur votre macro pour supprimer les pièces jointes.
    Elle marche très, et même un peu trop, elle me supprime également les images incluses dans le corps du mail.
    C’est certes une pièce jointes, mais je ne souhaite pas supprimer cette information.
    Est-il possible de laisser le choix à l’utilisateur des pièces jointes à supprimer ?
    Merci

    • Bonjour Allan,
      Je ne crois pas que les propriétés des pièces jointes permettent de distinguer celles qui sont incluses dans le corps du mail. Partant de là tu as 2 options pour adapter la macro à tes besoins
      – ajouter un test conditionnel pour que la macro ignore les pièces jointes dont l’extension est jpeg, gif, jpg etc.. (la propriété displayname te permettra de récupérer l’extension du fichier)
      – demander une confirmation à chaque itération sur la liste des pièce jointe (via une msgbox), mais cette solution peut rapidement être pénible à l’utilisation de mon point de vue.

      Cordialement

      • Bonjour,

        En fait, les pièces jointes sont insérées dans le mail suivant le format dans lequel le mail est écrit (HTML, Texte Enrichi, Texte, Brut).
        Ce qui me pose le plus problème est que la plupart du temps les pièces dans le corps sont des parties de classeurs Excel (champs de données ou graphique).
        Je vais essayer de voir si je peux récupérer le type par macro.

        La solution proposée pourrait fonctionner, mais ne ferait que peu de temps. Il est possible en ouvrant le mail de le modifier dans Outlook et donc de supprimer une à une les pièces jointes reçues.

        merci quand même.🙂

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :