Macro VBA Outlook pour Extraire les e-mails 9


Si pour des raisons multiples vous avez besoin d’extraire les e-mails de votre boite Outlook que ce soit un compte Exchange ou non (.ost ou .pst) alors cet article est fait pour vous. En plus si vous suivez toutes ces étapes vous n’aurez plus de souci à vous faire mais plus qu’à extraire vos e-mails.

Dans un premier temps, la macro qui va suivre a été testé sur outlook 2010 avec des .OST & .PST sur un windows 7 64 Bits.

– Téléchargez la macro-VbaProject.otm : VbaProject

– Fermer Outlook

– Extraire le fichier et le Déposer dans le dossier suivant :

  • Pour Seven :  C:\Users\Nom-Dutilisateur\AppData\Roaming\Microsoft\Outlook
  • Pour XP :  C :\Documents and Settings\ Nom-Dutilisateur \Application Data\Microsoft\Outlook

Détails de la macro :

–          Permet d’extraire les mails qui se trouvent sur le dossier actuellement ouvert.

Nom de la macro : MailDossierCourant

–          Permet d’extraire les mails qui sont sélectionnés.

Nom de la macro : LanceSurSelection

–          Permet d’extraire les mails qui se trouvent dans le dossier Boite de réception.

Nom de la macro : MailBoiteReception

 

Ne vous inquiétez pas, le mail reste belle et bien dans votre outlook (.ost ou .pst), ce n’est qu’une copie qui est extraite.  Afin de prendre en compte pas mal de caractères bizarre, ou une longueur de chaine trop longue (généralement dans l’objet), ces « problèmes » sont traités, soit on tronque l’objet, soit les caractères sont remplacés, ou quand il n’y a pas d’objet on renomme bien spécifiquement. A vous d’adapter après si le nom de l’export ne vous convient pas :
Cette macro nomme les e-mails extrait de cette façon : ANNEE_MOI_JOURS_HEURES_MINUTES_SECONDES_OBJET

L’export ce fait dans le dossier : « C:\temp\ » que vous pouvez remplacer par le chemin que vous souhaitez sans avoir besoin de connaitre le développement. Pour ce faire, le plus rapide est d’appuyer sur : ALT + F11 de vous diriger vers le module : « Export » et cherchez la ligne : «C:\temp\ » à fin de le remplacer par le chemin de destination de votre choix. Attention n’oublier pas le dernier « \ » à la fin qui est extrêmement très important.

 

Je tenais à remercier mon collègue Sylvain pour la personnalisation de cette macro.

Passons aux choses sérieuses, et utilisons cette fameuse Macro.

– Ouvrez outlook
– Activez le Menu Développeur dans le ruban d’outlook :

  • Fichier
  • Options
  • Personnaliser le Ruban
  • Cocher la case Développeur
Activer-ruban-developpeur-1

Maintenant que le menu : Développeur apparait dans le ruban, allez dans ce menu, puis dans sécurité macro :

Desactiver-securite-macros-1

Desactiver-securite-macros-1

Dans la nouvelle fenêtre : Centre de gestion de la confidentialité :
– Dans Paramètres des macros
– Cochez : Activer toutes les macros (non recommandé, exécution possible de code potentiellement dangereux) :

desactiver-securite-macros-2

desactiver-securite-macros-2

 

Pour simplifier l’utilisation des macros, vous pouvez personnaliser votre barre de lancement rapide, en y ajoutant des boutons qui seraient liés à vos macros.
Pour cela :

– clic droit sur le ruban

personnaliser la barre d’Outils Accès rapide-1

personnaliser la barre d’Outils Accès rapide-1

– Personnaliser la barre d’Outils Accès rapide

– En haut du cadre de gauche choisir : Macros

personnaliser la barre d’Outils Accès rapide-2

– Sélectionnez la ou les macros dont vous voulez disposer dans votre barre d’accès rapide et cliquez pour chacune sur le bouton AJOUTER en plein milieu.

– Puis si vous voulez ajouter une icône à votre macro, sélectionnez votre macro, puis cliquez sur le bouton Modifier qui se trouve en bas du cadre de droite, choisissez une icône et validez.

– Avec les petites flèches sur la droite, vous pouvez choisir l’ordre d’apparition de vos macros.

– Terminez par valider : Bouton OK

personnaliser la barre d’Outils Accès rapide-3

Personnaliser la barre d’Outils Accès rapide-3

 

Si vous souhaitez lancer cette macro de façon automatiser, afin de vous aider un peu, voici la commande à exécuter :

outlook.exe /autorun Nomdelamacro

Dans notre cas vous pouvez avoir :

 

outlook.exe /autorun LanceSurSelection

 

outlook.exe /autorun MailBoiteReception

 

outlook.exe /autorun MailDossierCourant

Maintenant Assez parlé, essayez ;).

Sélectionnez un e-mail et lancez la macro :  LanceSurSelection
Sélectionnez un Dossier et lancez la macro :  MailDossierCourant

Dans ces deux cas, dirigez vous vers votre dossier d’extraction et contemplez ;).

Enjoy !

 


Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

9 commentaires sur “Macro VBA Outlook pour Extraire les e-mails

  • JJP

    Rien n’est ajouté dans le dossier C:/Temp/ !
    Je ne peux modifier le fichier VbaProject.otm
    Avez vous le script source ?

  • dead-red Auteur de l’article

    Bonjour,

    Si si il est possible de le modifier depuis outlook, avec le ALT+F11 …

    La source c’est le .otm, et il n’est pas du tout protégé.

  • JJP

    Merci pour la réponse.
    J’ai reussi lancer la macro (sans la modifier) mais j’ai des erreurs de compilation.
    J’utilise Outlook 2010
    (J’ai réusi à ouvrir le OTM dans le débogueur)

    🙁

  • JJP

    Voici le début de la macro :

    Sub sav_mail_as_msg(Optional objCurrentMessage As Object)
    ‘By Oliv’ juillet 2007 pour OUTLOOK 2003

    ‘ If objCurrentMessage Is Nothing Then Set objCurrentMessage = ActiveInspector.CurrentItem

    ‘Ici on construit le nom du fichier qui sera créé

  • Dead-Red

    Oui oui moi de même, la macro tourne sur mon outlook 2010.

    Vous avez le problème dès l’exécution manuelle de la macro ou celle automatique ?

    Dans tout les cas, chacune à sa particularité, une où il faut sélectionner un dossier avant de lancer la macro, une autre où il faut sélectionner des mails avant de lancer la macro ….

    Avez-vous désactivé la sécurité des macros ?

  • modus57

    Bonjour
    Je débute avec les macros Outlook 2010, vos macros sont intéressantes.
    Mais ne s’ajoute dans le dossier C:/Temp/ ??

  • Benoit

    Merci beaucoup ! C’est exactement ce que l’on cherchait et sur un outlook 2013 / Windows 7 64b, ça a fonctionné du premier coup.

  • jerome

    bonjour,
    je souhaite choisir ou enregistrer mes mails, quelle est la partie du code à modifer ?
    merci