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éception de Mail : Récupération des Dest. CC et CM


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Réception de Mail : Récupération des Dest. CC et CM
    Bonjour,
    Une question assez simple, mais à priori, je n'ai pas trouvé la réponse au même niveau de difficulté

    Est-ce possible en VBA, de demander à Outlook, à l'arrivée d'un message,
    de récupérer les destinataires, CC et CM.
    Et d'inscrire ces destinataires dans le corps du mail ?


    Merci pour votre coup de main

    mick

  2. #2
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    Bonjour,

    Il faut exécuter une règle qui exécute un script, on peut alors récupérer dans les champs to le destinataire et dans cc les copies, bcc pour les copies cachées.

  3. #3
    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
    Citation Envoyé par mduval Voir le message
    de récupérer les destinataires, CC et CM.
    Et d'inscrire ces destinataires dans le corps du mail ?
    salut c'est quoi CM ?

    A l'arrivée on ne peut pas avoir les cci(bcc) ce champ est toujours vide , c'est sa fonction !

    Quel est le but final ?

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Effectivement Oliv, vous avez raison, j'ai été un peu vite dans mon raisonnement. CM = CCi : (Copie Masquée) : Ce champ ne m'est pas nécéssaire.

    L'utilité, est, que c'est un robot qui "aspire" ces matils dans une boite Exchange, puis ce mail est intégrer dans un produit qui ne sais pas identifier tous les Dest; ni des CC.

    L'idée est d'obtenir juste l'info de la liste des destinataires, dans le corps du message.

    J'ai réussi à faire réagir par un script, mais j'arrive pas à modifier le mail, en listant les destinataires


    Merci pour votre aide

    Mick

  5. #5
    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,
    Voici un code répondant en partie à ton besoin.
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Sub test_EnregistreRecipientsDansEmail()
    Dim oMessage As MailItem
    If Application.ActiveInspector Is Nothing Then Exit Sub
     
    Set oMessage = ActiveInspector.CurrentItem
    EnregistreRecipientsDansEmail oMessage
    End Sub
     
    Sub EnregistreRecipientsDansEmail(myMail As MailItem)
    '---------------------------------------------------------------------------------------
    ' Procedure : RepToRec
    ' Author    : Oliv'
    ' Date      : 28/05/20013
    '---------------------------------------------------------------------------------------
    '
        Dim Destinataire_To, Destinataire_CC, liste
        Dim Destinataire
     
        Destinataire_To = ""
        Destinataire_CC = ""
     
        For Each Destinataire In myMail.Recipients
     
            If Destinataire.Type = olTo Then
                Destinataire_To = Destinataire.Name & "< " & Destinataire.Address & " >;" & Chr(10) & Destinataire_To
            Else
                Destinataire_CC = Destinataire.Name & "< " & Destinataire.Address & " >;" & Chr(10) & Destinataire_CC
     
            End If
     
        Next Destinataire
     
        MonTexteEnPlus = "A:" & Destinataire_To & Chr(10) & "Cc:" & Destinataire_CC
        Select Case myMail.BodyFormat
            'ici on vérifie le format du message HTML OU BRUT ...
     
        Case olFormatHTML:
        MonTexteEnPlus = Replace(MonTexteEnPlus, Chr(10), "<BR>")
            OuCommenceAdresse = InStr(1, myMail.HTMLBody, "<BODY", vbTextCompare)
            If OuCommenceAdresse > 0 Then
                fin = InStr(OuCommenceAdresse + 5, myMail.HTMLBody, ">") + 1
                BaliseBody = Mid(myMail.HTMLBody, OuCommenceAdresse, fin - OuCommenceAdresse)
     
                myMail.HTMLBody = Replace(myMail.HTMLBody, BaliseBody, BaliseBody & "<font style='font-family: Tahoma ;font-size: 12pt ;color:red;font-style: italic;'>" & MonTexteEnPlus & "</font><BR>" _
                                                                           & "<font style='font-family: Tahoma ;font-size: 12pt ;color:red;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>", 1, 1, vbTextCompare)
            Else: myMail.HTMLBody = "<font style='font-family: Tahoma ;font-size: 12pt ;color:red;font-style: italic;'>" & liste & _
                                       "</font><BR>" & "<font style='font-family: Tahoma ;font-size: 12pt ;color:red;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>" & myMail.HTMLBody
     
            End If
        Case Else
            myMail.Body = Replace(MonTexteEnPlus, "<br>", vbCr) & Chr(10) & String(NbTiret, "-") & Chr(10) & Chr(10) & myMail.Body
     
        End Select
        'myMail.Save
     
        Set olNS = Nothing
    End Sub

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci Oliv-
    En "Mode Manuel" cela fonctionne nickel !

    Par contre, pour l'affecter à un régle de réception de message, je bloque.
    Cela ne m'affiche que la procédure EnregistreRecipientsDansEmail(myMail As MailItem)

    Et d'après ce que je comprends,
    Je dois exécuter la procédure test_EnregistreRecipientsDansEmail(), qui exécute la seconde procédure,
    C'est bien celà ?


    Seulement, la procédure "test" n'est pas visible dans la régle.

    Merci encore pour ton aide
    Mick

  7. #7
    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
    la procédure test_ EnregistreRecipientsDansEmail sert uniquement à tester en dehors d'une règle.

    c'est donc bien EnregistreRecipientsDansEmail(myMail As MailItem) qui faut utiliser dans la règle.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut résolu
    C'est fabuleux.
    Merci Oliv- pour ton aide.

    Bien cordialement

Discussions similaires

  1. adressage intranet/ récupération des mail sur le host
    Par narama87 dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 14/12/2008, 22h38
  2. Récupération des alertes Oracle d'un serveur Win par e-mail
    Par mboubidi dans le forum Administration
    Réponses: 10
    Dernier message: 06/08/2008, 16h34
  3. Problème de récupération des mails hors intranet
    Par orion57 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 03/02/2007, 15h43
  4. Réponses: 6
    Dernier message: 12/01/2007, 16h48
  5. [VBA][outlook] récupération des adresses mail
    Par arno2004 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 27/07/2004, 18h48

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