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

Outlook Discussion :

Changer l'objet d'un mail reçu


Sujet :

Outlook

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Changer l'objet d'un mail reçu
    Bonjour à tous,

    Malgré quelques recherches sur le forum, je n'ai pas trouvé ce que je cherchais.

    Je souhaiterai modifier l'objet des mails reçus avec des infos se trouvant dans le corps du mail. Cette info se trouve n'importe où dans le mail mais se présente toujours sous cette forme : N/réf. à rappeler sur votre réponse : ECV/n° à 6 chiffres (variable suivant le client)/ trigramme (variable suivant l'utilisateur qui envoi le mail).

    Merci d'avance pour votre réponse
    A+
    Franck

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il nous manque quelques éléments pour répondre :

    - quelle version d'Outlook utilises-tu ?
    - l'opération est faite manuellement ou doit être automatique ?
    - si automatique : doit se faire tout seul à l'arrivée d'un mail ? un traitement en lot sur plusieurs mails ?
    - si traitement en lot : les mails sont tous dans un même dossier ? ce dossier ne contient que des mails à modifier ou pas seulement ?
    - peut-on avoir quelques exemples concrets de chaînes à récupérer ?

    si manuellement : tu ouvres le mails >> Onglet "Message" / Sous-onglet "Déplacer" / Menu "Actions" / Modifier
    tu modifies l'objet et tu appuies sur la disquette en haut à gauche pour enregistrer la modification

    si pas manuellement : répondre aux questions

  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
    Bonsoir,
    le sous forum VBA serait plus indiqué pour cette question.

    voici un exemple que je n'ai pas testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub getRef ()
    if activeinspector.currentitem.class=olmail then 
    set MyEmail = activeinspector.currentitem
    ref = left(split(MyEmail.body,"ECV/")(1),6)
    Msgbox MyEmail.subject= MyEmail.subject & ref
    MyEmail.save
    end if
    end sub

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    joe.levrai, pour répondre à tes questions:

    - J'utilise Outlook 2013
    - L'opération doit se faire automatiquement et en lot. En revanche, l'exécution de la macro peut être manuelle.
    - Les mails seront dans Boîte de réception.
    - Il se peut que certains mails ne contiennent pas cette chaîne.
    - Des exemples :
    - N/Réf. à rappeler sur votre réponse : ECV/015771/FG
    - N/Réf. à rappeler sur votre réponse : ECV/022458/JLR
    - N/Réf. à rappeler sur votre réponse : ECV/000012/CO8

    Oliv, j'ai testé ton code que j'ai mis dans VBA/ThisOutlookSession, mais ça ne marche pas. Le message d'erreur : Variable objet ou variable de bloc With non définie.

    En tout cas merci à vous deux pour vos réponses.

    A+
    Franck

  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
    Bonjour
    Ce code ne marche qu avec un email ouvert .oú se produit l erreur ?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse oliv.

    Effectivement lorsque j'ouvre le mail et lance le code l'erreur est différente (l'indice n'appartient pas à la sélection). L'erreur semble se produire sur cette ligne : MsgBox MyEmail.Subject = MyEmail.Subject & ref

    Par contre, n'y a t il pas moyen de lancer sur une sélection de mails? Lorsque je lance la macro mail fermé, l'erreur se produit sur la ligne : Set MyEmail = ActiveInspector.CurrentItem

    Merci pour ta réponse
    A+
    Franck

  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
    Le "Msgbox" est en trop.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    ça ne fonctionne pas Il faut la lancer lorsque le mail est ouvert ou directement dans la boîte de réception?

  9. #9
    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
    j'ai testé ce code qui fonctionne sur LE MAIL ouvert.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub getRef()
        If ActiveInspector.CurrentItem.Class = olMail Then
            Set MyEmail = ActiveInspector.CurrentItem
            sp1 = Split(MyEmail.Body, "ECV/")(1)
            sp2 = Split(sp1, " ", , vbTextCompare)(0)'ici on cherche le premier espace après
     
            ref = " [ECV/" & Split(sp2, Chr(13))(0) 'ici on cherche s'il y a un retour à la ligne
     
            MyEmail.subject = "[ECV/" & ref & "] " & MyEmail.subject
            MyEmail.Save
        End If
    End Sub
    c'est pas forcement la panacée, car ton code, si c'est une réponse "manuelle" peut être de la forme :
    ECV / 015771 / FG

    ou ECV/022458/ JLR.

    etc... il faut utiliser plutôt les Expressions règulières ("REGEX")

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    comptable
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse.

    Non la chaîne est générée par un modèle (un peu comme un publipostage) donc elle sera toujours au même format.

  11. #11
    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 : 37
    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,

    Pour générer le traitement par lot sur des mails sélectionnés dans l'explorateur, il faut utiliser l'objet ActiveExplorer.
    Voici un exemple qui affiche le mail en question.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub modifsubjectlot()
    Dim m As Long, mlist As Selection, mitem As MailItem
    Set mlist = Application.ActiveExplorer.Selection
    For m = 1 To mlist.Count
    Set mitem = mlist(m)
    'Affichage du mail à remplacer par le traitement à effectuer sur le mail
    mitem.display
    Next 
    End sub
    Cordialement,
    Christophe

    Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut besoin d'aide
    Bonjour,
    j'ai besoin d'un script similaire, qui peut m'aider SVP ?

    je veux activer une règle qui lance un script pour éditer l'objet des nouveaux messages provenant d'un expéditeur spécifique comme suit:
    le script doit trouver un numéro d'item (qui change à chaque fois) dans chaque message reçu (envoyé par cet expéditeur) et après changer l'objet pour le remplacé par le numéro d'item et enregistrer.

    Exemple:

    message reçu:
    Envoyé par : Exemple@domaine.com
    Objet : Titre
    Message : Ce "numéro d'item" est envoyé.
    Message (objet) édité et enregistré :
    Envoyé par : Exemple@domaine.com
    Objet : Numéro d'item
    Message : Ce "numéro d'item" est envoyé.
    Merci beaucoup.

Discussions similaires

  1. [OL-2010] Changer l'objet d'un mail reçu
    Par Pov type dans le forum Outlook
    Réponses: 0
    Dernier message: 11/05/2015, 12h37
  2. [OL-2010] Changer l'objet d'un mail via VBA
    Par FCL31 dans le forum VBA Outlook
    Réponses: 9
    Dernier message: 25/02/2014, 08h53
  3. [Lotus] Changer l'emeteur d'un mail
    Par mimosa7 dans le forum Access
    Réponses: 13
    Dernier message: 19/01/2007, 17h21
  4. Réponses: 2
    Dernier message: 29/11/2005, 15h40

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