IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Vider Automatiquement des dossiers


Sujet :

Contribuez

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2015
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 64
    Points : 75
    Points
    75
    Par défaut Vider Automatiquement des dossiers
    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 :

    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
    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
        ' 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

  2. #2
    Membre régulier Avatar de Tchicken
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 108
    Points : 85
    Points
    85
    Par défaut Adaptation de votre code
    Bonjour don_pets,

    je fais beaucoup de VBA sous Excel, mais je n'en ai jamais fait sous Outlook;
    Votre code, faut-il l'intégrer dans 2 Sub() ou Function() ?
    Je souhaiterais effectué quotidiennement une suppression des courriels qui ont été reçus avant minuit.
    Je pense que l'on peut trouver une date dans oItems.Item(i).xxx
    Pourriez-vous me guider dans ma démarche s.v.p. ?

    Cordialement, Tchicken.

Discussions similaires

  1. Ajout automatique des dossiers pour plugin Assembly
    Par Hippocrène dans le forum Maven
    Réponses: 2
    Dernier message: 02/10/2015, 15h38
  2. Réponses: 0
    Dernier message: 07/08/2012, 13h20
  3. Extrcation automatique des fichiers dans des dossiers
    Par vinvol dans le forum VBScript
    Réponses: 6
    Dernier message: 16/06/2012, 22h12
  4. Réponses: 4
    Dernier message: 09/12/2011, 09h34
  5. Réponses: 1
    Dernier message: 18/11/2008, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo