Bonjour,
Encore une fois un code qui m'est bien utile. Je reçois quantité de mails chaque jours, dont beaucoup de spams ou autres mails sans aucun intérêt. Je pourrais créer une règle via outlook pour les mettre directement à la poubelle, mais je préfère avoir un garde fou. D'où le dossier "merde" que je dois vider fréquemment. De la même manière lorsque nous travaillons sous exchange nous sommes parfois limités en terme d'espace de stockage (ce sera l'objet du prochain article), on peut donc adapter cette macro aux éléments envoyés.
Première étape, on déplace les éléments indésirables dans la corbeille :
Seconde étape, on tire la chasse d'eau :
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 ' Déplacer DLamerde vers courbeille Dim Ol_App As New Outlook.Application Dim Ol_MAPI As Outlook.namespace Dim Ol_FolderFrom, Ol_FolderFrom2 As Outlook.MAPIFolder Dim Ol_FolderTo As Outlook.MAPIFolder Dim Ol_Items As Outlook.MailItem Dim NoItem As Integer Set Ol_MAPI = Ol_App.GetNamespace("MAPI") Set Ol_FolderFrom = Ol_MAPI.GetDefaultFolder(olFolderInbox).Folders("DLamerde") Set Ol_FolderTo = Ol_MAPI.GetDefaultFolder(olFolderDeletedItems) For NoItem = Ol_FolderFrom.Items.Count To 1 Step -1 Set Ol_Items = Ol_FolderFrom.Items(NoItem) Ol_Items.Move Ol_FolderTo Next NoItem Set Ol_Items = Nothing Set Ol_FolderTo = Nothing Set Ol_FolderFrom = Nothing Set Ol_MAPI = Nothing Set Ol_App = Nothing
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 ' Vider le dossier éléements supprimés If MsgBox("Etes-vous certain de vouloir tout shooter ?", vbYesNo, "Demande de confirmation") = vbYes Then Dim oDeletedItems As Outlook.Folder Dim oFolders As Outlook.Folders Dim oItems As Outlook.Items Dim i As Long Set oDeletedItems = Application.Session.GetDefaultFolder(olFolderDeletedItems) Set oItems = oDeletedItems.Items For i = oItems.Count To 1 Step -1 oItems.Item(i).Delete Next Set oFolders = oDeletedItems.Folders For i = oFolders.Count To 1 Step -1 oFolders.Item(i).Delete Next End If
Enjoy,
Pet's
Partager