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

  1. #1
    Membre régulier
    Empêcher la suppression d'un mail dans une boîte commune.
    Bonjour à tous,

    Je voudrais savoir s'il existerait un moyen d'interdire le déplacement individuel de mails de outlook Inbox ou si possible de mettre un mot de passe pour qu'on puisse le déplacer dans un autre répertoire ?
    Mon soucis c'est qu'on est plusieurs a travailler sur la même adresse et du coup certains utilisateurs déplace les mails par accident dans Archive et donc les suivants ne les voient plus. Ce qui est très embêtant.
    Dommage que les règles ne s'appliquent qu'aux mails entrant dans la Inbox et non aux mails sortant de la Inbox ou entrant dans un autre répertoire

    D'avance merci, j'espère que vous pourriez m'aider.

    Philippe

  2. #2
    Expert éminent
    Bonjour,

    Tu pourrais via VBA utiliser l'événement suivant.

    et demander une confirmation !

    par contre pour que cela fonctionne, il faut que la macro existe sur tous les postes et que les macros soient activées.


    Folder.BeforeItemMove, événement
    Se produit lorsqu'un élément est sur le point d'être déplacé ou supprimé d'un dossier, à la suite de l'action d'un utilisateur ou de l'exécution du code d'un programme.
    Informations sur la version
    Version ajoutée : Outlook 2007

    Syntaxe

    expression.BeforeItemMove(Item, MoveTo, Cancel)

    expression Variable qui représente un objet Folder.

    Paramètres

    Nom Obligatoire/Facultatif Type de données Description
    Item Obligatoire Objet Représente l'élément Outlook qui doit être déplacé ou supprimé.
    MoveTo Obligatoire Folder Représente le dossier vers lequel l'élément doit être déplacé.
    Cancel Obligatoire Booléen Affectez la valeur True à ce paramètre pour annuler le déplacement ou la suppression.

    Remarques


    Cet événement se déclenche lorsque l'élément est sur le point d'être déplacé dans un autre dossier (y compris le dossier Éléments supprimés) ou lorsque l'élément est sur le point d'être supprimé définitivement. Il ne se déclenche pas au cours des opérations de synchronisation et d'archivage automatique.

    Si l'action est une suppression définitive, le dossier MoveTo renvoyé dans l'événement prendra la valeur Null (Nothing dans Visual Basic).

    A coller dans ThisOutlookSession
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim WithEvents FolderInboxSHARED As Folder
     
     
     
    Private Sub Application_Startup()
     Set FolderInboxSHARED = NS.Stores("nom de la boite").GetDefaultFolder(olFolderInbox)
    End sub
     
    Private Sub FolderInboxSHARED_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
        If MsgBox("confirmez-vous", vbYesNo, "Déplacement/suppression") = vbNo Then
            Cancel = True
        End If
    End Sub



    L'autre solution pour voir les messages arrivés du jour, c'est de créer "un dossier de recherche" en cochant les sous dossiers et le mettre en favoris

  3. #3
    Membre régulier
    Oliv est un As ! Il mérite ses 5 étoiles .

    Mais… J'ai une erreur :-( . C'est apparemment "NS" qu'il ne reconnaît pas.
    Erreur d'exécution 424 : Objet requis
    Merci Oliv,

    Philippe

  4. #4
    Expert éminent
    Bonjour,

    je me permet.

    L'objet NameSpace n'est pas instancié, du coup la procédure ne reconnaît pas la variable objet NS

    en passant par la session :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim WithEvents FolderInboxSHARED As Folder
     
    Private Sub Application_Startup()
     Set FolderInboxSHARED = Application.Session.Stores("nom de la boîte").GetDefaultFolder(olFolderInbox)
    End Sub
     
    Private Sub FolderInboxSHARED_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
        If MsgBox("confirmez-vous", vbYesNo, "Déplacement/suppression") = vbNo Then
            Cancel = True
        End If
    End Sub

  5. #5
    Expert éminent
    Merci j'ai fait des coupes dans mon code un peu drastiques ;-)

  6. #6
    Membre régulier
    Là c'est magnifique. Cà marche.
    2 x 5 étoiles. Oliv et joe. C'est mérité.


    Merci,

    Philippe.