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 :

Envois alerte sur une autre boite mail


Sujet :

VBA Outlook

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Points : 8
    Points
    8
    Par défaut Envois alerte sur une autre boite mail
    Bonjour,

    j'ai un petit souci avec le script que j'ai créé ci-dessous : celui ne marche pas et je vois pas ou est le problème.

    Contexte :

    J'ai deux boites mail A et B. Dés je reçois un ou plusieurs mails dans la boite A, celui-ci renvoit une alerte ou plusieurs dans la boite B en indiquant "vous avez recu un ou plusieurs nouveaux messages".

    Le script :
    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
     
    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
     
    'Déclarations
    Dim MonApp As Outlook.Application
    Dim MonMail As Object
    Dim MonNameSpace As Outlook.NameSpace
    Dim MonSend As ItemSend
    Dim MonTitle As MailItem
     
    'Instance des objets
    Set MonApp = Outlook.Application
    Set MonNameSpace = MonApp.GetNamespace("MAPI")
    Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
    Set MonSend = ItemSend
    Set MonTitle = MailItem
     
    'Test
    If MonMail.SenderEmailAddress = NewMailEx Then
         MonSend.ItemSend ("toto@free.fr") & MonTitle.Item("Vous avez reçu    un  nouveau message")
    End If
    End Sub


    Merci à vous pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Points : 89
    Points
    89
    Par défaut
    Salut,

    Essayes avec quelque chose de ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set oApp = CreateObject("Outlook.Application")
    Set myNameSpace = oApp.GetNameSpace("MAPI")
    Set monDossier = myNameSpace.GetDefaultFolder(olFolderInbox)
    Set monMail = monDossier .Items(1).Forward
    monMail.senderName = "Moi"
    monMail.Send
    Faut que tu le mete à ta sauce et tu devrais trouver...

    Sinon je pense qu'en utilisant l'aide tu devrais t'en sortir

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Salut Ptikir,

    merci pour ta réponse ! Mais là, ce que tu me proposes c'est un forward du mail... Or, moi ce que je cherche à faire, c'est une simple alerte qui dit que "vous avez recu un message" et rien d'autre ! Comme la boite mail destinataire est partagé entre deux personnes, la 1ere ne doit pas savoir ce que c'est !! D'ou l'idée d'une alerte !

    Merci à toi !
    Inter-Rupteur

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Salut Inter-rupteur,
    tu peux adapter ton code à partir de celui-ci :
    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
    29
    30
    31
    32
    33
    Public Sub EnvoieDeMail()
    'Ajouter les références suivantes :
    'Microsoft Outlook
    'Microsoft DAO
     
    '****************'
    '* Déclarations *'
    '****************'
    Dim oApp As Outlook.Application
    Dim oMail As Outlook.MailItem
     
    '*******************'
    '* Initialisations *'
    '*******************'
    'Instancie Outlook
    Set oApp = CreateObject("Outlook.Application")
    'Crée un nouveau message
    Set oMail = oApp.CreateItem(olMailItem)
     
    '******************'
    '* Envoie du mail *'
    '******************'
    oMail.Body = "Corps du mail"
    oMail.Subject = "Vous avez un nouveau message"
     
    'Envoi du mail
    oMail.Send
     
    '*****************************'
    '* Libération des ressources *'
    '*****************************'
    Set oApp = Nothing
    End Sub
    et la lumière fut.
    Tout vient à point qui sait programmer.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Bonjour bibilolo2,

    merci pour ta réponse, c'est cool !!!
    Donc j'ai ré-écrit le code, et apparement y a des erreurs, je vois pas ou car tout me semble cohérent...

    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
    29
    30
    31
    32
    33
    34
    35
     
    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
     
    'Déclarations
     
    Dim oApp  As Outlook.Application
    Dim oMail As Outlook.MailItem
    Dim MonMail As Object
    Dim MonNameSpace As Outlook.NameSpace
    Dim MonSend As ItemSend
     
     
    'Instance des objets
     
    Set oApp = CreateObject("Outlook.Application")
    Set oMail = oApp.CreateItem(olMailItem)
    Set MonNameSpace = MonApp.GetNamespace("MAPI")
    Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
    Set MonSend = ItemSend
     
     
    'Sujet du message
     
    oMail.Subject = "Vous avez un nouveau message"
     
     
    'Test
     
    If MonMail.SenderEmailAddress = NewMailEx Then
         MonSend.ItemSend ("toto@gmail.com") & oMail.Subject
     
    End If
    Set oApp = Nothing
     
    End Sub

    Merci à toi !!
    Inter-Rupteur

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    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
    29
    30
     
    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
     
    'Déclarations
     
    Dim oMail As Outlook.MailItem
    Dim MonMail As Object
    Dim MonNameSpace As Outlook.NameSpace
     
    'Instance des objets
     
    Set oMail = Application.CreateItem(olMailItem)
    Set MonNameSpace = Application.GetNamespace("MAPI")
    Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)
     
    'Sujet du message
     
    oMail.Subject = "Vous avez un nouveau message"
    oMail.To = "toto@gmail.com"
    oMail.SentOnBehalfOfName = "British Telecom Service"
     
    'envois mail + subject
     
    oMail.Send
     
    Set oApp = Nothing
    Set MonMail = Nothing
    Set MonNameSpace = Nothing
     
    End Sub
    J'ai réécrit le code !! C'est coollll il a marché 10 min !!! Et depuis plus rien... J'ai testé sur differentes boites et rien n'y fait !!! Quand je mets le déboggueur, il ne me dis rien, donc que le code devrais être correct !! Mais je ne recois plus rien... Alors que ca a marché qq minutes ????


    Merci de m'aider !!

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Points : 133
    Points
    133
    Par défaut
    Tu peux essayer de mettre un corps à tes mails. Il me semblait que c'était obligatoire.

    Pour ton problème d'exécution, essaie de réparer l'Office mais avant vérifie que tu n'as pas un pare-feu ou autre qui bloque l'envoie de ton mail et que tes macros sont bien activée.

    Bonne chance.
    Tout vient à point qui sait programmer.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Bonjour bibilolo2,

    merci d'avoir pris le temps de m'écrire !! J'ai testé sans / avec Antivirus, firewall ou toutes autres choses qui pourraient bloqué : rien... ca ne change absolument rien !!

    Par contre, j'ai testé sur 3 boites email differents (lieux), meme problème ! ==> Outlook 2003 et Outlook 2007

    J'ai testé sur une 4eme boite email d'un ami et la ca marche... J'y comprends plus rien !!! ==> Outlook 2003

    Une idée ?

Discussions similaires

  1. [11g] Envoi XMLType sur une autre base
    Par squall62 dans le forum Oracle
    Réponses: 1
    Dernier message: 05/09/2013, 15h45
  2. Réponses: 0
    Dernier message: 03/12/2009, 09h53
  3. Envoi de variables sur une autre page
    Par Potachon dans le forum Langage
    Réponses: 1
    Dernier message: 03/05/2009, 16h15
  4. transfert d'une boite sur une autre
    Par cynoq dans le forum Exchange Server
    Réponses: 2
    Dernier message: 23/12/2008, 17h22
  5. Envoie d'un formulaire sur une autre fenêtre
    Par Invité dans le forum VBScript
    Réponses: 5
    Dernier message: 02/03/2007, 09h51

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