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 :

[VBA Outlook] Macro qui accepte plusieurs "Demande de réunion" et valide la réponse


Sujet :

VBA Outlook

  1. #1
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut [VBA Outlook] Macro qui accepte plusieurs "Demande de réunion" et valide la réponse
    Bonjour,

    Existe-t-il une macro (outlook 2003) qui ferai l'action suivante:

    - Lorsque je reçois plusieurs "Demande de réunion" en même temps, la macro accepte la "Demande de réunion" et n'envoie pas de réponse au destinataire. Le tout en cliquant simplement sur un bouton. Ca serait vraiment cool

    Dailyplanet

  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
    Salut,
    une macro peut être mais il existe un paramétre dans outils/options/preferences/options du calendrier/planification des ressources

    qui s'appelle "accepter automatiquement les demandes de réunion"

  3. #3
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Merci pour ta réponse.
    Cette solution est parfaite pour accepter toutes les demandes de réunion sans distinction de compte.

    Mais je reçois des demandes de réunion de plusieurs comptes et j'aimerai accepter les demandes venant d'un seul compte qu'on a appelé: Compte Calentrier TIC-TIN.
    Les autres demandes doivent toujours être traitées manuellement.

    J'espère que c'est possible via une macro

    Dailyplanet

  4. #4
    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
    Créé une nouvelle règle :

    après l'arrivée, qui est une mise à jour ou une invitation à une réunion, executer un script.

    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
    Sub STOPaccepte_reunion(myMtgReq As Outlook.MeetingItem)
    'by oliv' 2008
        If TypeName(myMtgReq) <> "Nothing" Then
        Dim myolApp As Outlook.Application
        Set myolApp = Outlook.Application
     
        Dim myAppt As Outlook.AppointmentItem
        Dim myMtg As Outlook.MeetingItem
     
            Set myAppt = myMtgReq.GetAssociatedAppointment(True)
            'Set myMtg = myAppt.Respond(olResponseAccepted, True)
            'myMtg.Send
        End If
    End Sub
    A tester et modifier selon tes besoins

  5. #5
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Excuse mon ignorance, mais j'ai une excuse...je suis débutant
    Comment puis-je exécuter ce script; le coller dans ThisOutlookSession, dans Module... ?
    J'ai essayé... et cherché dans les FAQ Outlook mais en vain (et pourtant l'info doit se trouver à quelque part )

    Dailyplanet

  6. #6
    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
    Pas de problème !

    le script s'execute donc quand la règle correspond.

    sinon on peut le tester à partir d'un élement ouvert.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test_script()
    Dim OITEM 
    Set OITEM = ActiveInspector.CurrentItem
    STOPaccepte_reunion OITEM
    End Sub

  7. #7
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Merci Oliv- pour ta réponse, mais je n'arrive pas à exécuter le script.

    je tourne en rond

    Pourrais-tu stp m'expliquer pas-à-pas: comme à un débutant (que je suis)

    Dailyplanet

  8. #8
    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
    Salut, c'est quoi que tu n'arrives pas à faire ?


    tu colles les 2 macros dans un module.
    tu crées la règle.

    si une demande de réu,ion arrive toute seule elle va déclencher STOPaccepte_reunion.

    Si tu veux tester avant, tu ouvres une demande de réunion (double clic dessus)

    et tu lances test_script

  9. #9
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Salut Oliv-,

    Pour la macro, c'est tout bon. mais pour la règle, je vois pas où je dois la créer

    J'ai regardé dans Outils, Règles et alertes...mais j'ai des doutes.

    Dailyplanet

  10. #10
    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
    SAlut,
    oui c'est bien là.

  11. #11
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Un grand merci Oliv- c'est tout bon !

    J'ai un peu cherché car les règles je les utilise que pour les mail...je savais pas qu'on pouvait aussi les utiliser pour les script

    Dailyplanet

  12. #12
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Salut Oliv-
    Encore une petite chose.
    Quand la demande de réunion est passée à travers la règle, j'ai un message de Microsoft Office Outlook: Un programme tente d'envoyer automatiquement du courrier électronique en votre nom. L'autorisez-vous à poursuivre ? Oui, Non, Aide.

    Y a-t-il un moyen de ne pas voir ce message ou de la valider automatiquement ?

    Dailyplanet

  13. #13
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    tu as des applis qui permettent de outre passer les demandes de confirmation d'Outlook :

    http://www.mapilab.com/outlook/security/
    ClickYes


    Dolphy

  14. #14
    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
    Salut à tous,

    Dailyplanet qu'as tu modifié dans le code ? en principe il ne devrait pas y avoir de message de sécurité !

  15. #15
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Voici le code que j'ai collé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub STOPaccepte_reunion(myMtgReq As Outlook.MeetingItem)
    'by oliv' 2008
        If TypeName(myMtgReq) <> "Nothing" Then
        Dim myolApp As Outlook.Application
        Set myolApp = Outlook.Application
     
        Dim myAppt As Outlook.AppointmentItem
        Dim myMtg As Outlook.MeetingItem
     
            Set myAppt = myMtgReq.GetAssociatedAppointment(True)
            Set myMtg = myAppt.Respond(olResponseAccepted, True)
            'myMtg.Send
        End If
    End Sub
    et le message de sécurité Outlook:
    Un programme tente d'envoyer un message à l'aide de la commande Item.Send.....

    Dailyplanet

  16. #16
    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
    Mea culpa, il y avait bien un message.

    Essaye avec ce code :
    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
    Sub STOPaccepte_reunion(myMtgReq As Outlook.MeetingItem)
    Dim StrID, olNS
    StrID = myMtgReq.EntryID
    Set olNS = Application.GetNamespace("MAPI")
    Dim LaDemandeDeReunion
    Set LaDemandeDeReunion = olNS.GetItemFromID(StrID)
     
    MsgBox myMtgReq.Subject
        If TypeName(myMtgReq) <> "Nothing" Then
     
        Dim myAppt As Outlook.AppointmentItem
        Dim myMtg As Outlook.MeetingItem
     
            Set myAppt = LaDemandeDeReunion.GetAssociatedAppointment(True)
            Set myMtg = myAppt.Respond(olResponseAccepted, True)
            myMtg.Send
        End If
    End Sub

  17. #17
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Nickel Oliv-

    Il y a un message d'avertissement qui demande de cliquer sur "OK".
    Et si je n'ai pas besoin de ce message, comment puis-je le supprimer ?

    J'ai plusieurs "Boîte aux lettres" dont une qui s'appelle "Boîte aux lettres - Compte Calendrier TIC-TIN".
    Je désire que la macro accept uniquement les demandes de réunion qui proviennent de la "Boîte aux lettres - Compte Calendrier TIC-TIN".
    Est-ce possible ?

    Dailyplanet

  18. #18
    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
    salut,
    Citation Envoyé par Dailyplanet Voir le message
    Nickel Oliv-

    Il y a un message d'avertissement qui demande de cliquer sur "OK".
    Et si je n'ai pas besoin de ce message, comment puis-je le supprimer ?
    en mettant un guillemet simple devant msgbox
    Citation Envoyé par Dailyplanet Voir le message
    Je désire que la macro accept uniquement les demandes de réunion qui proviennent de la "Boîte aux lettres - Compte Calendrier TIC-TIN".
    Est-ce possible ?
    Dailyplanet
    Dans ta règle coche à l'étape 1 "dans le compte spécifié" en choisissant ce dernier.

    Est ce que cela marche ?

  19. #19
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Salut Oliv'

    Pour le message, c'est OK avec le guillemet.

    Par contre pour choisir le compte, je n'ai pas le choix car il ne me propose que "Exchange" sans distinction des comptes.
    Alors j'ai essagé avec un filtre sur la "catégorie" ou dans "l'objet" du message.
    Même en filtrant dans l'étape 1, toutes les demandes de réunion passent directement dans mon calendrier. Impossible à laisser passer celle uniquement pour le "Compte Calendrier TIC-TIN" et retenir les autres.

    As-tu une autre astuce ?

    Dailyplanet

  20. #20
    Membre du Club Avatar de Dailyplanet
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    Sorry Oliv'

    J'avais mal fait mes tests. Maintenant tout est OK.
    J'ai utilisé comme filtre à l'étape 1 "de personnes ou liste de distribution"

    Merci encore pour ton aide précieuse.

    Dailyplanet

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Macro qui renvoit plusieurs valeurs
    Par darkwall_37 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/09/2012, 11h25
  2. [XL-2010] Bug dans macro qui reunit plusieurs doc word en 1 seul
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2012, 11h23
  3. [VBA-E] Macro qui fait Ctrl + F ?
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/03/2007, 11h04
  4. [VBA-E] Macro qui confond "1" et "11"
    Par SybVicious dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/08/2006, 17h03
  5. [VBA-E] macro qui se lance avec un commandbutton
    Par ricachu dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/07/2006, 09h52

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