IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Extraire données mails outlook vers excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur Génie Civil
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Génie Civil

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Extraire données mails outlook vers excel
    Bonjour, à tous

    au sujet de cette discussion qui date un peu.
    Je suis nouveau sur le forum et débutant dans le monde du VBA, merci d'avance pour votre indulgence si je ne m'exprime pas correctement....

    J'ai presque trouvé dans cette discussion ce que je cherchais malheureusement, je ne parviens pas à appliquer la macro proposée pour XL2007 par Daniel.C.

    J’ai copier/coller le code dans un module VBA de mon fichier excel et j'obtiens le message d'erreur suivant :
    "Erreur de compilation : Référence incorrecte ou non qualifiée" et ".Rows" à la ligne 10 est surligné.

    J'ai oublié de dire je suis sous seven et j'utilise la suite office 2013.

    Dans l'idéal, je cherche une macro (que l'on lance à partir d'Outlook ou de excel) qui fasse les actions suivantes :
    Si la macro est dans outlook :
    - on sélectionne plusieurs mails dans outlook
    - on clique sur le bouton de la macro
    - les mails sélectionnés sont :
    - sauvegardés dans l’explorateur windows à un endroit défini en .msg avec un numéro de chrono unique
    - les infos du mail 1 sont copiées dans un fichier excel (récap_mail) sur la ligne 2:
    - colonne C : date du mail
    - colonne D : expéditeur du mail
    - colonne E : objet du mail
    - colonne F : destinataires du mail
    - colonne G : nom des pièces jointes attachées au mail
    - colonne H : tailles (en Ko) des pièces jointes attachées au mail
    - colonne A : un numéro de chrono qui s’incrémente (chrono 0001 pour le premier mail)

    - De même les infos du mail 2 sont copiées sur la ligne suivante (ici ligne 3)
    - Et ainsi de suite pour les autres mails
    - Si on relance la macro un autre jour avec une nouvelle sélection de mail que les infos se mette à la suite dans le même fichier excel avec un numéro de chrono qui s’incrémente sur le dernier
    - l’idéal serait que le numéro de chrono créé dans la colonne A du fichier excel soit un lien hypertexte qui ouvre le mail stocké dans l’explorateur.

    Si la macro est dans excel :
    A peu près la même chose que décrit ci-dessus mais cela me parait plus difficile d’appliquer la macro sur la sélection de mail faite sur outlook.
    Si vous avez des idées ou suggestions.

    Je vous remercie par avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    "Erreur de compilation : Référence incorrecte ou non qualifiée" et ".Rows" à la ligne 10 est surligné.
    Oui, c'est normal, honte sur moi ! il faut mettre cette ligne après l'actuelle ligne 11.

    Pour le reste, mets cette macro dans un module standard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub test()
        Dim OutApp As Object, Ligne As Long, Chrono As String, Desti, Lig As Long, Fich
        Application.ScreenUpdating = False
        Set OutApp = CreateObject("OutLook.Application")
        With Sheets("Feuil1")
            For Each Item In OutApp.ActiveExplorer.Selection
                Ligne = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
                Chrono = .[A:A].Find("*", , , , xlByRows, xlPrevious).Value
                If Not IsNumeric(Right(Chrono, 4)) Then
                    .Cells(2, 1) = "Chrono0001"
                Else
                    .Cells(Ligne, 1) = "Chrono" & Format(CInt(Right(Chrono, 4)) + 1, "0000")
                End If
                .Cells(Ligne, 3) = Item.ReceivedTime
                .Cells(Ligne, 4) = Item.Sender
                .Cells(Ligne, 5) = Item.Subject
                Lig = Ligne - 1
                For Each Desti In Item.Recipients
                    Lig = Lig + 1
                    .Cells(Lig, 6) = Desti.Address
                Next Desti
                Lig = Ligne - 1
                For Each Fich In Item.Attachments
                    Lig = Lig + 1
                    .Cells(Lig, 7) = Fich.Filename
                    .Cells(Ligne, 8) = .Cells(Ligne, 8) + Fich.Size / 1024
                Next Fich
                Item.SaveAs "C:\temp\" & .Cells(Ligne, 1) & ".msg", olMSG
            Next Item
        End With
        Application.ScreenUpdating = True
    End Sub
    PJ : Genco928.xlsm
    PS. Les messages sont enregistrés dans le dossier "C:\temp". Modifie-le à ton gré.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur Génie Civil
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Génie Civil

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Un grand merci
    Vraiment merci beaucoup, c'est exactement ce que je voulais faire !

    Je suis très impressionné autant par la qualité de la réponse que par sa rapidité

    mille fois merci Daniel

  4. #4
    Candidat au Club
    Femme Profil pro
    Chef de projet applicatif
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet applicatif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Je déterre ce sujet qui correspond à 90% à ce dont j'ai besoin.

    Je souhaiterai réaliser un tableau qui liste les mails contenu dans un dossier outlook (au besoin je peux les regrouper dans un dossier windows comme proposé dans la macro).
    Les informations qui m'intéresse sont :
    - l’expéditeur,
    - l'objet,
    - la date de réception
    - la catégorie appliquée sur le mail (outlook nous permet de 'taguer' les mails selon des catégories)

    La macro proposée répond donc en grande partie à mes besoins (même plus sur certain point!), mais il me manque l'information de la catégorie appliquée sur le mail (qui est la donnée principale qui va me permettre de faire des stats) savez-vous comment je peux l'ajouter?

    J'ai essayé d'utiliser la macro depuis le fichier Genco928.xlsm. J'ai copié mes mails dans le dossier C:\Temp\THD et j'ai appliqué le changement dans la macro. Mais quand je fais Ajouter ou que je lance la macro il ne me remonte qu'un mail sur les 921. Il remonte toujours le même mail à chaque fois que je lance la macro.
    Y-a-t-il d'autre action à faire pour que ça me remonte tous les mails?

    Merci d'avance pour vos retours!!

  5. #5
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub test()
        Dim OutApp As Object, Ligne As Long, Chrono As String, Desti, Lig As Long, Fich
        Application.ScreenUpdating = False
        Set OutApp = CreateObject("OutLook.Application")
        With Sheets("Feuil1")
            For Each Item In OutApp.ActiveExplorer.Selection
                Ligne = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
                .Cells(Ligne, 1) = Item.Sender
                .Cells(Ligne, 2) = Item.Subject
                .Cells(Ligne, 3) = Item.ReceivedTime
                .Cells(Ligne, 4) = Item.categories
    '            Item.SaveAs "C:\temp\" & .Cells(Ligne, 1) & ".msg", olMSG
            Next Item
        End With
        Application.ScreenUpdating = True
    End Sub

  6. #6
    Candidat au Club
    Femme Profil pro
    Chef de projet applicatif
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet applicatif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour Daniel,

    Ça marche super bien : me suffit de sélectionner les mails concernés et les infos s'incrémentent dans le fichier excel!
    Tu es trop fort!

    Merci beaucoup pour ta réactivité et pour la qualité de tes scripts!
    (les mails sont sur une boite générique depuis laquelle je ne peux pas utiliser l'outil d'export d'Outlook)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2022
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Aide VBA Automatisation de la tache
    Bonjour,

    Je déterre ce sujet une décennie après.

    Je travaille sur le même type de problème. Je reçois chaque semaine 20 à 30 mails à saisir sur Excel et toujours du même expéditeur.
    Et sur Excel, j'ai 5 à 7 colonnes à remplir chaque fois.
    Etant vraiment novice avec l'utilisation de VBA, je sollicite votre aide.

    Merci

    Cordialement Jojo

  8. #8
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Quelles sont les éléments que vous souhaitez copier sur la feuille Excel et dans quelles colonnes ?

    Cordialement.

    Daniel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Extraire des mails Outlook vers Excel
    Par secu_res_123 dans le forum VBA Outlook
    Réponses: 10
    Dernier message: 10/09/2015, 12h16
  2. Extraire donnees mails Outlook vers Excel
    Par FLO040988 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/04/2014, 10h17
  3. Extraire données mails Outlook vers Excel
    Par Dheimoss dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 28/03/2012, 14h19
  4. [XL-2007] Extraire données mails Outlook vers Excel
    Par wiiirr dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2011, 12h13
  5. [XL-2003] Extraire données mails Outlook vers Excel
    Par sdispro dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 10/12/2011, 00h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo