E-mail vers Excel

Bonjour à tous,

Est-il possible d'exporter automatiquement mes e-mails vers un fichier excel?

Faut-il effectuer un script particulier dans le mode développeur de Outlook ?

Je cherche à retranscrire le contenu de mes mails dans un seul et même fichier excel qui compilerait les données.

Merci pour vos réponses.

Cordialement.

Zombie49,

Dans le principe, toutes les applis de la suite MS Office peuvent interagir les unes avec les autres donc dans ton cas EXCEL avec OUTLOOK Par exemple, tu peux réaliser en VBA dans EXCEL une fonction qui parcourt une boîte OUTLOOK et ceci ne nécessite pas de dev. au niveau d'OUTLOOK.

Maintenant, il serait nécessaire d'avoir plus de détail sur ce que tu entends par

qui compilerait les données

.

Bonjour GVIALLES,

Merci pour ta réponse,

J'ai synchronisé mon téléphone avec ma boite mail.

Par conséquent je reçois mes sms dessus.

J'aimerai pouvoir dans un seul et même fichier excel pouvoir renseigner automatiquement en temps réel tous le contenu des mails provenant des sms. (A défaut de ne sélectionner que les mails "sms" on pourrait renseigner tous les mails dans ce fichier)

J’espère avoir été assez clair.

Cordialement.

Zombie49,

Dans un p1er temps, je te propose le squelette de code suivant :

Sub ScanSMS_Mainprocess()
    Dim oOL As Outlook.Application
    Dim olNS As Outlook.Namespace
    Dim oMail As Outlook.MailItem
    Dim sSubject As String
    Dim sFrom As String
    Dim sBody As String
    Dim dDate As Date

    Set oOL = GetObject(, "Outlook.Application")
    Set olNS = oOL.GetNamespace("MAPI")
    For Each oMail In olNS.GetDefaultFolder(olFolderInbox).Items
        With oMail
            If .UnRead Then
                sSubject = .Subject
                sFrom = .Sender.Name
                dDate = .ReceivedTime
                sBody = .Body
                '
                'Ajouter ici du code pour renseigner la feuille EXCEL avec les données récupérées
                '

                .UnRead = False
            End If
        End With
    Next

    Set oMail = Nothing

End Sub

Il faudra que tu références "Microsoft Outlook 16.0 Object Library" (dans IDE VBA : Outils/Références...)

Pour que ça fonctionne, tu dois t'assurer qu'une session OUTLOOK est en exécution. Pour ce faire une petite fonction :

Public Function IsOUTLOOK_OK() As Boolean
    Dim oOUTLOOK As Object

    IsOUTLOOK_OK = True
    On Error Resume Next
    Set oOUTLOOK = GetObject(, "Outlook.Application")
    On Error GoTo 0

    If oOUTLOOK Is Nothing Then
        MsgBox "OUTLOOK n'est pas en exécution!", vbCritical, "CONTROLE OUTLOOK ACTIF"
        IsOUTLOOK_OK = False
    End If

    Set oOUTLOOK = Nothing
End Function

Gérard,

Je dois t'avouer que je suis novice en VBA.

Le second code fonctionne très bien.

Le premier code j'ai du mal à comprendre :

-Quand je lance le code il me met " erreur de compilation : Type défini par l'utilisateur non défini " et la 1ere ligne "oOL As Outlook.Application" surligné en bleu

-De plus pourrais-tu me montrer un exemple de ligne de code que je dois placer pour renseigner la feuille EXCEL avec les données récupérées.

Merci de pour aide précieuse.

Cordialement

Zombie49,

Pour l'erreur de compil, n'aurais-tu pas omis cette remarque ?

Il faudra que tu références "Microsoft Outlook 16.0 Object Library" (dans IDE VBA : Outils/Références...)

Pour le code permettant le stockage des SMS dans une feuille EXCEL, peux-tu fournir un exemple EXCEL de que ce que tu voudrais obtenir?

Gérard,

La référence est bien cochée.

Voici le fichier exemple.

Cordialement.

Zombie49,

L'erreur de compil est étrange, ça passe chez moi...y compris sur l'EXCEL que tu m'a envoyé...à creuser...

Sinon, je n'ai pas d'exemple de sms arrivant dans OUTLOOK, aussi peux-tu me préciser à quel endroit du mail tu trouves le N°de Tel?

Gérard,

Il n'y a plus d'erreur de compile mais une erreur d’exécution '13': Incompatibilité de type. ( peut-être est ce du au fait que je n'ai pas renseigner "Ajouter ici du code pour renseigner la feuille EXCEL avec les données récupérées"

Le numéro de téléphone est l'expéditeur du mail.

Cordialement

Zombie49,

En P.J. ton EXCEL complété avec remplissage de la feuille par les mails "non lus".

Pour l'erreur d'exécution, peux-tu indiquer la ligne de code sur laquelle elle se produit?

Gérard,

En faite je n'ai aucune ligne en surbrillance mais seulement le message d'erreur après avoir lancer l’exécution de Sub ScanSMS.

Je t'ai fait une copie d'écran dans le fichier ci-joint

Cordialement.

Etrange, je n'ai pas cette erreur...

Peux-tu vérifier la version OUTLOOK avec laquelle tu travailles?

J'utilise Outlook 2016.

Gérard,

On progresse, voici la suite.

Je t'ai mis une remarque et un imprime écran. Il ne reste plus que le corps du mail à importer.

J'ai volontairement supprimé des chiffres au numéros de téléphone.

Cordialement.

Le texte du SMS est dans le corps du mail ou dans le sujet?

Dans le corps du mail.

Peux-tu m'en envoyer un exemplaire bidon sur gvialles@hotmail.com?

Je viens de réussir en mettant sBody= .HTMLBody. Mais j'obient tous les caractères. Y'a-t-il une autre possibilité avec BODY?

Deuxième question, j'aimerai ouvrir ce fichier le matin et que la macro fonction toute au long de la journée. Est ce possible?

Zombie49,

Une nouvelle version en pièce jointe. J'y ai :

  • Ajouté une fonction de décodage des messages HTML adaptée aux SMS que tu reçois : "parseHTMLBody".
  • Ajouté un ordre "Application.OnTimer" pour relancer le scan des mails toutes les x minutes, y secondes. Les nombres x et y sont déclarés en début de module par des constantes "cNbMinutes";"cNbSecondes". Tu dois y indiquer les valeurs que tu désires (actuellement 5 minutes).
  • Déplacé tout le code dans un module "Général" (sinon la fonction Ontimer de peut s'exécuter).
  • Ajouté dans le module Workbook.Open, la fonction de vérification qu'OUTLOOK est actif. Si Oui alors lancement du scanSMS_mainprocess, sinon fermeture de l'EXCEL.

Voilà l'travail, maintenant, à toi de jouer...

Bonjour Gérard,

Bonne année et tous mes meilleurs vœux pour cette nouvelle année.

Je te remercie pour ton aide c'est vrai parfait!!!

Cordialement

Rechercher des sujets similaires à "mail"