Outlook 2010. Vous souhaitez créer une règle qui déplace tous les messages de ma boîte de réception vers un autre dossier:
Je cherchais l’archivage automatique, mais cela ne semble pas me permettre d’être aussi précis avec mes critères.
Pour le moment, la meilleure façon de procéder consiste à créer un nouveau dossier de recherche avec des critères personnalisés, par exemple des éléments modifiés avant ou à une date donnée. Je clique ensuite avec le bouton droit de la souris sur le dossier et choisissez "Supprimer tout" pour envoyer tous les éléments du dossier de recherche dans le bac.
Les dossiers de recherche sont la réponse, mais le PO interrogé à propos du courrier plus ancien que d’une date donnée. Si vous utilisez "modifié la semaine dernière", il affiche tout ce qui s'est passé au cours de la dernière semaine et filtre les éléments âgés de plus d'une semaine. Pour l'inverse, utilisez un langage comme:
Je cherchais quelque chose de similaire. Je dois utiliser une macro car l'archivage automatique est désactivé pour mon installation. Voici ce que je suis venu avec:
Option Explicit
Private Sub Application_MAPILogonComplete()
' this runs on app startup
Const MSG_AGE_IN_DAYS = 7
Dim oFolder As Folder
Dim oFilteredItems As Outlook.Items
Dim oItem As MailItem
Dim oDate As Date
oDate = DateAdd("d", -MSG_AGE_IN_DAYS, Now())
oDate = Format(oDate, "mm/dd/yyyy")
' you can use this command to select a folder
'Set oFolder = Application.Session.PickFolder
Set oFolder = Me.Session.Folders.GetFirst
' shows all the folder names
'For Each fldr In oFolder.Folders
' Debug.Print fldr.Name
'Next fldr
' this was the sub-folder I wanted to cleanup.
Set oFolder = oFolder.Folders("Storage").Folders("batch runs")
Debug.Print "checking " & oFolder.FolderPath
Debug.Print "for msgs older than " & oDate
' you can modify the filter to suit your needs
Set oFilteredItems = oFolder.Items.Restrict("[Received] <= '" & oDate & "' And [Unread] = True")
Debug.Print "removing " & oFilteredItems.Count & " items"
While oFilteredItems.Count > 0
Set oItem = oFilteredItems.GetFirst
Debug.Print " " & oItem.UnRead & " " & oItem.Subject
' the remove method permanently deletes the item.
oFilteredItems.Remove 1
'Debug.Print oFilteredItems.Count & " items left"
Wend
Debug.Print ". end"
Set oFolder = Nothing
Set oFilteredItems = Nothing
Set oItem = Nothing
End Sub
Cette macro est attachée à la dernière phase du cycle de vie de l'application. il s'exécute lorsque Outlook démarre. Vous voudrez probablement aussi le signer (et faire confiance à votre signature) pour que vous obteniez des plaintes en matière de sécurité.
HTH