creer un fichier excel à partir de données envoyées par mail (outlook)

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonjour le forum,

envoyer une feuille excel par mail, ça y est, je sais faire (en grande partie grâce à vous),

mais maintenant j'ai le problème inverse :

récupérer des données dans le corps d'un e-mail et les basculer dans un classeur XL.

Je n'ai pas encore d'exemple de la structure des mails en question, mais avez-vous déjà une idée de la façon de procéder???

Merci à vous

Bises (pluvieuses🙁)

C@thy
 
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Merci Softmama, Hasco

Softmama,

Private Sub SearchFolders(ByVal Fld As Outlook.MAPIFolder : projet ou bibliothèque introuvable

Hasco, je teste

Bizz

C@thy
 
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Arf!

C'est JCGL qui avait raison, j'ai maintenant le MANQUANT MiscrosoftOutlook 12.0 object Library
je décoche...

Edit mais ce foutu truc revient....
 
Dernière édition:
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Ah ben comme ça je comprends mieux :
pas de "Dossiers Personnels", mais à la place j'ai "Boîte aux lettres - XXX xxx" (mon nom et mon prénom)

C@thy
 
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Bien,

on y voit un peu plus clair... Si tu fais une macro pour lister les mails d'un répertoire spécifique, je te conseille de scanner comme tu viens de le faire l'ensemble des dossiers et sous dossiers de ta boite mail, afin de trouver l'emplacement du répertoire cherché. Ainsi, s'il est déplacé ou inséré dans d'autres répertoires, tu le retrouveras quand même.
Bravo pour ta pugnacité !
 
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Re bonjour à tous,

@Cathy pour éviter ce problème de références manquantes (suivant les versions Outlook), une fois ton projet finalisé tu pourrais créer une référence a l'objet Application avec la fonction ci-dessous.

Par contre il faudra également "détyper" tous tes objets en les déclarant as Object et remplacer les constantes Outlook par leurs valeurs (Je pourrais te donner un fichier avec les constantes et valeurs de outlook 2002 et 2007.

VB:
Function InitOutlookObject(ByRef oOutlookVar As Object) As Boolean
    On Error Resume Next
     'Retourne l'instance Outlook si déjà lancer
     Set oOutlookVar = GetObject(, "Outlook.Application")
 
     'Sinon en ouvre une nouvelle
     If oOutlookVar Is Nothing Then Set oOutlookVar = CreateObject("Outlook.Application")
 
     InitOutlookObject = Not oOutlookVar Is Nothing
 
End Function

Utilisation:

VB:
Dim oApp as Object
If InitOutlookObject( oAPP ) Then
   '....Tu fais ce que tu veux avec l'objet application outlook
 
Else
  '---Je dis bye bye!
End IF

Ceci fonctionnera sur toutes les machines pour peu que tu n'utilises par de propriété ou méthode particulière à une version OutLook.

A+++
 
Dernière modification par un modérateur:
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Bonjour

J'ai exactement le même besoin que CAthy à savoir remplir un fichier Excel à partir de mails Outlook.
En effet, je reçois des mails en grande quantité, toujours le même format ; je les stockes sous Outlook dans un répertoire (Process, sous répertoire de Projet).
Ce que je souhaiterai c'est qu'automatiquement certains données de ces mails soient récupérées et stocker dans un fichier Excel.

Infos à récupérer des mails :
- Date
- Subject

Structure boite Outlook :
- Inbox
- Sent
-...
- Projet
- Process

Le problème est que je n'arrive pas à faire en sorte que la macro accède au répertoire Process...
Je suis débutant sous Excel.

Merci beaucoup pour votre aide et bonnes fêtes.

Ps : en pièce jointe la structure de mon dossier Outlook
 
Dernière édition:
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

bonjour ozone083 il n'y a pas de pièce jointe,
et sans la structure, pas moyen de t'aider🙁

pendant que j'y suis : question dure :
sur la cellule qui comporte l'objet du mail, comment peut-on faire un hyperlien vers le mail en question??

Bises et bonnes fêtes (à mardi!)

C@thy
 
Dernière édition:
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

C'est parceque toi, tu as des merveilles dans les yeux, que tu nous trouve merveilleux.
Oh que c'est beau! Je ne l'avais pas lu avant😱
Ges, je suis vraiment émerveillée par ces réponses!...
Comment dire, vous êtes vraiment fantastiques, c'est sincère et surtout réel!
Je pense souvent à Ti dans vos réponses.
Il me conseillait de m'inscrire au club des hyperlaudatrices anonymes... LOL!

Bises 🙂🙂🙂🙂

C@thy
 
Dernière édition:
Re : creer un fichier excel à partir de données envoyées par mail (outlook)

bonjour ozone083 il n'y a pas de pièce jointe,
et sans la structure, pas moyen de t'aider🙁

pendant que j'y suis : question dure :
sur la cellule qui comporte l'objet du mail, comment peut-on faire un hyperlien vers le mail en question??

Bises et bonnes fêtes (à mardi!)

C@thy

En effet, désolé pour l'oubli
Merci C@thy pour ton aide et surtout excellentes fêtes de fin d'année
 

Pièces jointes

Re : creer un fichier excel à partir de données envoyées par mail (outlook)

Bonjour

Voici le code que j'ai (copie du code de Softmama) :



Private Sub Mails_contactsOutlook()
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Dossier As Outlook.MAPIFolder
Dim Ns As Outlook.Namespace

Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

Set Ns = olApp.GetNamespace("MAPI")
Set Dossier = Ns.Folders("Projets").Folders("Process") " ça bloque ici car il ne trouve pas le répertoire !!??" 😡

SearchFolders Dossier
End Sub


Private Sub SearchFolders(ByVal Fld As Outlook.MAPIFolder)
Dim OLmail As Outlook.MailItem
Dim SousDossier As Outlook.MAPIFolder
Dim c As Range, start As Long, trouv As Long, msg As String
On Error Resume Next
For Each SousDossier In Fld.Folders
If UCase(SousDossier.Name) = "Process" Then
For Each OLmail In SousDossier.Items
a = Range("A" & Cells.Rows.Count).End(xlUp)(2, 1).Row
Range("A" & a) = OLmail.Subject
Range("B" & a) = OLmail.SenderName
Range("C" & a) = OLmail.CreationTime
Range("D" & a) = OLmail.Body
Next OLmail
SearchFolders SousDossier
End If
Next SousDossier
End Sub

Sub start()
If [A2] <> "" Then Range("A2:B" & Range("B" & Cells.Rows.Count).End(xlUp).Row).Clear
With Application: .ScreenUpdating = False: .DisplayAlerts = False: End With
Mails_contactsOutlook
[A2].Sort Key1:=[A2], Order1:=xlAscending, Key2:=[B2], Order2:=xlAscending, Header:=xlYes
With Application: .ScreenUpdating = True: .DisplayAlerts = True: End With

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

S
Réponses
6
Affichages
2 K
soNZOOO
S
J
Réponses
0
Affichages
1 K
J
E
Réponses
0
Affichages
1 K
Excel6689
E
Retour