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

VBA Outlook Discussion :

Détection mail sur deux comptes différents


Sujet :

VBA Outlook

  1. #1
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut Détection mail sur deux comptes différents
    Bonjour le Forum ,
    Voici mon problème (euh j'essaie d'expliquer) :
    • J'ai deux boîtes mails personnelles. On ne s'en occupe car elles ne sont pas concernées.
    • J'ai deux autres boîtes : boite1@coucou.be et boite2@hello.be
    • La boite1@coucou.be ne doit plus être utilisée à partir du 01.01.2020 mais entretemps, elle est toujours activée. La boite2@hello.be ne sera utilisée officiellement qu'à partir du 01.01.2020. Tout va bien. Mais, il semblerait, selon le CTI, qu'il est impossible de faire une déviation de l'une vers l'autre étant donné que ce sont des domaines différents.
    • Donc, pour le moment, je fais un traitement (qui devrait encore être épuré) que permet de transférer les mails qui arrivent sur la boite1@coucou.be (soit pendant la nuit soit pendant la journée) vers la boite2@hello.be.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim WithEvents m_colInbox As Outlook.Items
    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
    24
    25
    26
    27
    28
    Private Sub Application_Startup()
    Dim objNS As Outlook.NameSpace
    Dim objNomBoite As Recipient
    Dim objDossier As Outlook.MAPIFolder
    Dim objSession As Object
    Dim olMail As Outlook.MailItem
    Set objNS = Application.GetNamespace("MAPI")
    Set objNomBoite = objNS.CreateRecipient("boite1@coucou.be")
    Set objDossier = Application.Session.GetSharedDefaultFolder(objNomBoite, olFolderInbox)
     
    'Transfert des mails présents dans la boîte à l'ouverture de Outlook
        For Each olMail In objDossier.Items
            If olMail <> "" Then
                Set MailT = olMail.Forward
                MailT.To = "boite2@hello.be"
                MailT.Display
                MailT.Send
                olMail.UnRead = False
                olMail.Delete
            Else
            End If
        Next
     
    Set m_colInbox = objDossier.Items
    Set objNS = Nothing
    Set objNomBoite = Nothing
    Set objDossier = Nothing
     End Sub
    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
    Private Sub m_colInbox_ItemAdd(ByVal Item As Object)
    'Transfert des mails à leur arrivée quand Outlook est ouvert
    Dim objMsg As Outlook.MailItem
    On Error Resume Next
    Set objMsg = Item
    Debug.Print "olMail : " & olMail
    Debug.Print "objMsg : " & objMsg
         Set MonMail = Item
        Debug.Print MonMail
        Set FwEmail = MonMail.Forward
        Debug.Print FwEmail
        FwEmail.To = "boite2@hello.be"
        FwEmail.Display
        FwEmail.Send
        MonMail.UnRead = False
        MonMail.Delete
    Set objMsg = Nothing
    End Sub
    Tout va bien pour l'instant. Là où cela se complique, c'est que l'agent qui traite les mails et les transfère vers les bons gestionnaires qui ont une boite mails du style ...@coucou.be se mangent à chaque fois un mail d'accusé de réception étant donné que le CTI a créé cette règle automatique et immuable dès que l'on reçoit un mail de l'extérieur.

    Donc, je me demandais s'il était possible d'ajouter une partie de code (qui réagirait sur le domaine et sur une partie du contenu du mail qui est immuable) pour qu'à la réception de ce f.... mail, il soit mis automatiquement à la poubelle. Une bête règle toute simple ne fonctionne pas, je l'ai testé en long et en large. Le problème selon moi, serait de gérer en temps réel la réception des mails sur les deux boites mails. Est-ce possible ? ou est-ce que Outlook sera complètement schizo ? Si vous avez des pistes... je suis preneur.

    Ne pas hésiter si vous voulez un complément d'infos car je ne suis pas certain d'avoir été complet.

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Je suis étonné qu'une règle ne fonctionne pas

    il faut identifier des termes contenus dans l'AR pour ignorer le traitement (macro ou règle)

  3. #3
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Hello Oliv-,
    Effectivement, c'est assez sournois.
    Lorsque j'utilise mes boîtes personnelles (lio@coucou.be et lio@hello.be), je peux effectuer le traitement via une simple règle. Mais, par contre, avec les boîtes génériques partagées, pas moyen. Je peux encoder la règle et la valider mais au final, rien ne se passe.
    Ah oui, j'avais créé une règle avec des termes bien spécifiques de l'AR et rien. Donc, c'est pour cela que je pensais intégrer cette partie à la macro. Mais je bute toujours sur la possibilité de traiter en même temps les mails qui arrivent sur les deux boîtes en direct :
    1. Si c'est sur boite1@coucou.be alors tu transfères le mail
    2. Si c'est sur boite2@hello.be alors tu delete uniquement l'AR

Discussions similaires

  1. Serveur mail et serveur web sur deux IP différent
    Par jabs dans le forum Administration système
    Réponses: 2
    Dernier message: 07/12/2013, 13h12
  2. Réponses: 1
    Dernier message: 29/05/2012, 21h57
  3. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52
  4. Alerte d'arrivée de mail sur plusieurs comptes
    Par Kcirtap dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 22/11/2005, 12h40
  5. Sum de deux champs sur deux tables différentes
    Par kluh dans le forum Oracle
    Réponses: 11
    Dernier message: 29/09/2005, 18h21

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