[RESOLU] Export de mails d'Outlook vers Excel

Vous recherchez un programme, une solution, posez votre question ici.
Répondre
Auteur du sujet
Handi
Nouveau
Nouveau
Messages : 120
Enregistré le : il y a 5 ans

[RESOLU] Export de mails d'Outlook vers Excel

Message par Handi »

salut

Je dois faire l'analyse de mon activité au cours de ces 12 derniers mois, à partir de certains mots clés contenus dans mes mails (je dois rechercher dans mes mails l'occurrence de "Projet 1" "Projet 2" "Projet 3" etc...).

Pour cela j'ai exporté le fichier Outlook .pst qui contient tous mes mails, vers un fichier .csv. Cela a fonctionné. Le problème est que lors de l'export .csv, je n'ai pas la possibilité de définir l'export des champs "Date" (date d'envoi et date de réception des mails). Je me retrouve donc avec une liste de mails sous excel sans colonne contenant les dates...pas très utile pour dresser une chronologie d'activité.

J'ai alors essayé d'exporter mes mails vers un .csv via un script PowerShell (via GPT), mais ce script ne fonctionne pas car il ne parvient pas à communiquer avec Outlook. Pourtant j'ai réinitialisez les composants COM...Je mets le script ci-dessous pour info.

Du coup si vous connaissez une autre solution me permettant d'exporter mes mails d'Outlook vers un .csv (ou autre format exploitable) cela m'intéresse volontiers :)

(en ce jour n'oubliez pas de fêter une bonne fête à vos mamans, sur la terre comme au ciel! :thumbsup: )

Version d'Outlook : MS office Pro 2021

Code : Tout sélectionner

# Définir le chemin du fichier de sortie
$outputPath = "C:\Path\To\Your\OutputFile.csv"

# Démarrer Outlook
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")

# Récupérer le dossier de la boîte de réception
$inbox = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)

# Vérifier si l'objet récupéré est du bon type
if ($inbox -is [Microsoft.Office.Interop.Outlook.MAPIFolder]) {
    Write-Host "Boîte de réception récupérée avec succès."
} else {
    Write-Host "Erreur : l'objet récupéré n'est pas du type attendu."
    exit
}

# Fonction récursive pour parcourir les sous-dossiers et exporter les e-mails
function Export-Mails {
    param (
        [Microsoft.Office.Interop.Outlook.MAPIFolder]$folder
    )

    foreach ($item in $folder.Items) {
        if ($item -is [Microsoft.Office.Interop.Outlook.MailItem]) {
            $mail = $item
            $obj = [PSCustomObject]@{
                Subject      = $mail.Subject
                Sender       = $mail.SenderName
                To           = $mail.To
                Cc           = $mail.CC
                Bcc          = $mail.BCC
                ReceivedTime = $mail.ReceivedTime
                Body         = $mail.Body
            }
            $obj | Export-Csv -Path $outputPath -Append -NoTypeInformation -Encoding UTF8
        }
    }

    foreach ($subFolder in $folder.Folders) {
        Export-Mails -folder $subFolder
    }
}

# Appeler la fonction pour exporter les e-mails de la boîte de réception et des sous-dossiers
Export-Mails -folder $inbox

nyzy
Habitué
Habitué
Messages : 212
Enregistré le : il y a 4 ans

Message par nyzy »

@ Handi

peut-être une piste sur ce lien https://fr.extendoffice.com/documents/o ... -date.html
Avatar du membre
bohemien10
Petit Nouveau
Petit Nouveau
Messages : 38
Enregistré le : il y a 2 ans

Message par bohemien10 »

Bonjour @Handi,

Je n'ai pas bien compris si tu avais besoin d'exporter aussi le contenu de tes e-mails, ou seulement de les dénombrer et trier par date.

Alors au cas où, si tu es dans le second cas (testé sur Office 19) :
. utiliser la barre de recherche en haut de page >>> cliquer dedans, puis dans le ruban du menu qui s'affiche >>> "outils de recherche" >>> recherche avancée
. rechercher tes mots clés Projets 1, 2... dans "champ objet et corps du message"
. les mails concernés s'affichent en bas de page >>> les sélectionner tous avec ctrl A >>> les copier avec ctrl C et les coller directement dans la 1ère case d'une feuille excel (une colonne affiche leur date)

:)
Auteur du sujet
Handi
Nouveau
Nouveau
Messages : 120
Enregistré le : il y a 5 ans

Message par Handi »

@bohemien10 : Je dois faire des stat sur le nombre de mails concernant "Projet 1" "Projet 2" "Projet 3"... au cours des 12 derniers mois. Pour ce faire, il faut que je puisse identifier des mots clés qui se trouvent soit dans l'objet du mail, soit dans le corps du mail.

Je vais tester la soluce de @nyzy. J'ai vu qu'il y avait aussi l'outil Kutools en bas de page, avec un onglet "Statistique" dans le ruban. Je ne sais pas ce qu'il est possible de tirer de cet outil pour le moment. Je testerai dans la semaine :thumbsup:
Auteur du sujet
Handi
Nouveau
Nouveau
Messages : 120
Enregistré le : il y a 5 ans

Message par Handi »

C'est tout bon je suis parvenu à récupérer un champ avec le jour et l'heure que je devrais pouvoir exploiter. J'ai utiliser la fonction "Rapport rapide" de Kutools ofr Outlook.

merci à vous ;)
Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité