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 SubAvec 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 SubEn 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