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 :

Récupérer l'adresse mail des participants d'une réunion [OL-2013]


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Décembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 51
    Points : 82
    Points
    82
    Par défaut Récupérer l'adresse mail des participants d'une réunion
    Bonjour le forum,

    Je me lance dans la programmation d'outlook et je bloque déjà et je ne trouve aucune réponse sur google qui m'aide.

    Ce que je veux faire c'est:
    • A l'ouverture d'outlook qu'il vérifie si le lendemain j'ai une réunion qui s'appel "Futsal ..."

    • Si c'est le cas je veux récupérer l'adresse mail des personnes à qui j'ai envoyé la réunion

    • pour ensuite les mettre en tant que destinataire d'un mail qui leur rappel qu'il y a un futsal le lendemain (je suis un peu leur maman et si je ne les préviens pas ils oublient leurs affaires



    Et pour le coup mon problème se trouve au moment de récupérer l'adresse mail des participants.

    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_Startup()
     
    Dim olApp As Outlook.Application
    Dim olMail As Outlook.MailItem
    Dim olAppointment As Outlook.AppointmentItem
    Dim namespaceOutlook As Outlook.NameSpace
    Dim DossierCalendrier As Outlook.MAPIFolder
    Dim sFilter As String
     
    Set olApp = CreateObject("Outlook.application")
    Set namespaceOutlook = olApp.GetNamespace("MAPI")
    Set DossierCalendrier = namespaceOutlook.GetDefaultFolder(olFolderCalendar)
     
    sFilter = "[subject] = Futsal le " & Format(Date + 1, "dddd d mmmm yyyy")
     
    Set olAppointment = DossierCalendrier.Items.Find(sFilter)
    Set olMail = olApp.CreateItem(olMailItem)
     
    If Not olAppointment Is Nothing Then
        With olMail
            .To = olAppointment.Recipients
            .Subject = "Rappel futsal"
            .Body = "Bonjour messieurs," & Chr(10) & "Je vous rappel que demain il y a foot, n'oubliez pas vos affaires :)"
            .Display
            .Send
        End With
    End If
     
    olApp.Quit
     
    Set olMail = Nothing
    'Set olApp = Nothing
    Set olAppointment = Nothing
     
    End Sub
    Merci de votre aide

  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
    Bonsoir,

    Tu dois pouvoir utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olMail= myItem.Actions("Reply to All").Execute
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set olMail = olApp.CreateItem(olMailItem)
    et supprimer le .to=...

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Décembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 51
    Points : 82
    Points
    82
    Par défaut
    Oliv-,

    Merci pour ton aide.

    Par contre le MyItem je le déclare où et comment, parce que là la macro bloque et me dit "object requis"

  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
    OUPS FAUT REMPLACER MyItem par olAppointment

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Décembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 51
    Points : 82
    Points
    82
    Par défaut
    Oliv,

    Ca bloque toujours sur cette même ligne même en faisant le remplacement de MyItem par olAppointment.

    Maintenant ça me met le message ci dessous:
    "Erreur d'exécution '91':
    Variable objet ou variable de bloc with non définie"

    Mais grace à ton aide j'ai trouvé quelquechose sur l'aide office qui me dis de faire comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myItem = CreateItem(olMailItem) 
     Set olMail = myItem.Actions("ReplyAll").Execute
    Mais ca ne marche pas non plus (Je l'ai adapté à mon cas ..., enfin j'ai essayé)

    Je pense que je ne suis pas loin mais ca bloque toujours à "Set olMail=..." :
    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
    36
    37
    Private Sub Application_Startup()
     
    Dim olApp As Outlook.Application
    Dim MyItem As Outlook.MailItem
    Dim olMail As Outlook.MailItem
    Dim olAppointment As Outlook.AppointmentItem
    Dim namespaceOutlook As Outlook.NameSpace
    Dim DossierCalendrier As Outlook.MAPIFolder
    Dim sFilter As String
     
    Set olApp = CreateObject("Outlook.application")
    Set namespaceOutlook = olApp.GetNamespace("MAPI")
    Set DossierCalendrier = namespaceOutlook.GetDefaultFolder(olFolderCalendar)
     
    sFilter = "[subject] = Futsal le " & Format(Date + 5, "dddd d mmmm yyyy")
     
    Set olAppointment = DossierCalendrier.Items.Find(sFilter)
    Set MyItem = olApp.CreateItem(olMailItem)
    Set olMail = MyItem.Actions("ReplyAll").Execute
     
    If Not olAppointment Is Nothing Then
        With olMail
            '.To = olAppointment.Recipients
            .Subject = "Rappel futsal"
            .Body = "Bonjour messieurs," & Chr(10) & "Je vous rappel que demain il y a foot, n'oubliez pas vos affaires :)"
            .Display
            .Send
        End With
    End If
     
    'olApp.Quit
     
    Set olMail = Nothing
    Set olApp = Nothing
    Set olAppointment = Nothing
     
    End Sub
    C'est peut être dans mes déclarations que ce n'est pas bon mais je ne sais pas quoi changer.

  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
    Bonjour
    il faut "juste" le mettre en français
    mais en repartant du code initial

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set olMail= olAppointment.Actions("Répondre à tous").Execute


    VOICI TES ERREURS EXPLIQUEES

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set olAppointment = DossierCalendrier.Items.Find(sFilter) ' TU TROUVES TON RDV = OK 
    Set MyItem = olApp.CreateItem(olMailItem)                              ' TU CREES UN MESSAGE VIDE = KO 
    Set olMail = MyItem.Actions("ReplyAll").Execute
    ' TU FAIS REPONDRE A TOUS A PARTIR DU MESSAGE VIDE = KO

  7. #7
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Décembre 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 51
    Points : 82
    Points
    82
    Par défaut
    MA-GNI-FI-QUE

    Merci beaucoup ça marche nickel.

    Effectivement c'était pas très logique ce que j'avais fait.

    Encore merci Oliv.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OL-2003] Liste des participants d'une réunion qui ont accepté
    Par Berg1664 dans le forum Outlook
    Réponses: 1
    Dernier message: 05/11/2014, 17h25
  2. Récupérer l'adresse mail des destinataires d'un message
    Par PaulR dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 02/09/2011, 11h00
  3. Réponses: 6
    Dernier message: 30/04/2008, 09h07
  4. Réponses: 1
    Dernier message: 13/02/2007, 16h03

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