Export Mails Outlook

Bonjour,

J'ai créé un VBA qui me permet d'ajouter des informations d'un CSV pour le mettre dans une feuille Excel et je dois a chaque fois faire un export des mails via Outlook dans un CSV ce qui me prend un certain temps à chaque fois.

Je souhaiterai faire la même chose que Outlook mais via quelques lignes de codes supplémentaires dans mon VBA sans devoir ouvrir Outlook. Quelqu'un saurait dire comment ?

Salut à toi !

Il faut ajouter la Référence : Microsoft Outlook...

Et après tu peux te baser sur un code comme cela :

Sub Extract_Mails()
    Dim oOutlook As Outlook.Application, i As Long
    Dim oMailItem As Outlook.MailItem
    Dim oItems As Outlook.Items
    i = 1
    PreparerOutlook oOutlook
    Set oItems = oOutlook.Session.GetDefaultFolder(olFolderInbox).Items
    Application.ScreenUpdating = False
    On Error Resume Next
    For Each oMailItem In oItems
        Feuil2.Cells(i, 1) = CStr(oMailItem.SenderName)
        Feuil2.Cells(i, 2) = CStr(oMailItem.SenderEmailAddress)
        Feuil2.Cells(i, 3) = CStr(oMailItem.Subject)
        Feuil2.Cells(i, 4) = CStr(oMailItem.Body)
        Feuil2.Cells(i, 5) = CStr(oMailItem.ReceivedTime)
        i = i + 1
    Next oMailItem
    'nettoyage...
    Application.ScreenUpdating = True
    If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
    If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing
End Sub

Avec l'initialisation de l'objet :

Private Sub PreparerOutlook(ByRef oOutlook As Object)
'------------------------------------------------------------------------------------------------
'Ce code vérifie si Outlook est prêt à envoyer des emails... Et s'il ne l'est pas, il le prépare.
'------------------------------------------------------------------------------------------------
On Error Resume Next
    'vérification si Outlook est ouvert
    Set oOutlook = GetObject(, "Outlook.Application")
    If (Err.Number > 0) Then 'si Outlook n'est pas ouvert, une instance est ouverte
        Err.Clear
        Set oOutlook = CreateObject("Outlook.Application")
        If (Err.Number > 0) Then
            MsgBox "Une erreur est survenue lors de l'ouverture de Outlook..."
            Exit Sub
        Else
        End If
    Else    'si Outlook est ouvert, l'instance existante est utilisée
    End If
End Sub

En espérant que ça t'aide !

Pour optimisé j'avais essayé de te le faire avec une variable tableau mais je sais pas il était vide...

Merci pour ta réponse !

Malheureusement, je ne suis pas assez compétent pour l'exécuter. J'ai des erreurs d'instructions attendu...

Bonjour neoboss27 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment)

Quant à votre demande, si j'ai bien compris, merci de déposer le fichier avec le code que vous avez déjà SVP

Merci de votre participation

Cordialement

Rechercher des sujets similaires à "export mails outlook"