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 :

renvoi d'un mail type dès réception avec une pièce jointe variable.


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 20
    Points
    20
    Par défaut renvoi d'un mail type dès réception avec une pièce jointe variable.
    bonjour,

    voila la manipulation que j'aimerai réaliser via des macros et règle de messagerie.

    1) une personne, avec l'adresse mail test@test.fr m’envoie un mail.
    2) automatiquement, je voudrais qu'un mail type (donc par exemple un oft stocké sur mon poste) soit envoyé à l'adresse test@test.fr
    3) dans cet email type il faudrait en plus ajouter une pièce jointe stocké sur mon poste (stocké dans C:\PJ) et qui serait variable en fonction de expéditeur (chaque pièce jointe est nommé de cette manière: adresse_mail_de_l'expediteur.msg donc pour mon exemple: test@test.fr.msg)

    est ce que vous pensez que c'est faisable ?

    merci d'avance

  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,
    OUI !
    est ce que c'est pour 1 SEULE adresse de messagerie expéditrice ou cela en concernera plusieurs ?
    faut il envoyer à chaque fois la réponse avec la pj ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    non les expéditeurs seront variable aussi. Mais il y aura toujours qu'un seul expéditeur dans le mail.
    d'ailleurs il faudrait que si un mail contient plusieurs expéditeur rien ne se passe.

    la seul fois ou il ne faudra pas envoyer la pièce jointe c'est si la pièce *.msg n'existe pas



    je vais donné un peu plus d'infos sur ce a quoi ça va servir. ce sera peu être plus simple a comprendre

    en gros ce système servira à récupérer des identifiants de connexion.

    la personne (avec l'adresse test@test.fr) envoie un mail à l'adresse identifiant@test.fr
    la macro vérifie si sur C:\PJ il existe un fichier test@test.fr.msg (dans lequel il y a les identifiants de la personne)

    si il existe, on renvoi un mail type avec marqué "vos identifiants sont blablabla" avec en pièce jointe le *.msg correspondant
    si il n'existe pas un mail type est envoyé avec "vos identifiants n'existe pas, veuillez contacter...."

    merci

  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
    Salut,
    Il y a plusieurs façons de faire au niveau du message déjà
    Soit tu "réponds" au mail reçu et tu joins en pj ton .msg
    Soit tu crées un nouveau Message à l'aide d'un modèle ou de toute pièce. et tu joins ton .msg (Application.CreateItemFromTemplate )
    Soit tu ouvres ton .msg et tu le renvois (cela dépend si c'est un mail pas encore envoyé, ou déjà envoyé) (OpenSharedItem )

    Tu dois créer un script comme cela (ici c'est un réponse):
    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
    Sub ScriptRepToRec(myMail As MailItem)
    '---------------------------------------------------------------------------------------
    ' Procedure : RepToRec
    ' Author    : Oliv'
    ' Date      : 16/04/2008
    ' Purpose   : script a executer avec une règle pour répondre au destinataires A
    '---------------------------------------------------------------------------------------
    '
        Dim LaReponse As Outlook.MailItem
        Dim StrID As String
        Dim olNS As Outlook.NameSpace
        Dim Msg As Outlook.MailItem
        Dim Destinataire, liste
     
     
        'ici on peut mettre des conditions
        If myMail.subject = "" Then Exit Sub
     
        Set LaReponse = myMail.Reply
        'il faut supprimer les destinataires par defaut
        For i = LaReponse.Recipients.Count To 1 Step -1
            LaReponse.Recipients.Remove i
        Next i
        LaReponse.Display
        For Each Destinataire In myMail.Recipients
            'MsgBox destinataire
            If Destinataire.Type = olTo Then
                LaReponse.Recipients.add Destinataire.Address
            End If
        Next Destinataire
     
        MonTexteEnPlus = "Mon message de réponse"
        Select Case LaReponse.BodyFormat
            'ici on vérifie le format du message HTML OU BRUT ...
     
        Case olFormatHTML:
     
            OuCommenceAdresse = InStr(1, LaReponse.HTMLBody, "<BODY", vbTextCompare)
            If OuCommenceAdresse > 0 Then
                FIN = InStr(OuCommenceAdresse + 5, LaReponse.HTMLBody, ">") + 1
                BaliseBody = Mid(LaReponse.HTMLBody, OuCommenceAdresse, FIN - OuCommenceAdresse)
     
                LaReponse.HTMLBody = Replace(LaReponse.HTMLBody, BaliseBody, BaliseBody & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & MonTexteEnPlus & "</font><BR>" _
                                                                           & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>", 1, 1, vbTextCompare)
            Else: LaReponse.HTMLBody = "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & liste & _
                                       "</font><BR>" & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>" & LaReponse.HTMLBody
     
            End If
        Case Else
            ObjCurrentMessage.Body = Replace(MonTexteEnPlus, "<br>", vbCr) & Chr(10) & String(NbTiret, "-") & Chr(10) & Chr(10) & ObjCurrentMessage.Body
     
        End Select
        LaReponse.Display
        '    LaReponse.Send
     
    End Sub
    Pour tester si ton fichier .msg existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     FilePath = C:\PJ\test@test.fr.msg
                If "" <> Dir(FilePath, vbNormal) Then
                            MsgBox FilePath  & " existe !!"
                Else
                            EXIT SUB
                End If
    Pour ajouter ta pj
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LaReponse.Attachments.add FilePath


    Tu dois créer une règle.
    "Appliquer cette règle après l'arrivée du message
    sur cet ordinateur
    exécuter (un script) vbaproject.scriptRepToRec"

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

Discussions similaires

  1. Envoyer un mail avec une pièce jointe en VBS
    Par nicosmash dans le forum Vos Contributions VBScript
    Réponses: 3
    Dernier message: 24/06/2014, 09h32
  2. envoi d'E-mail avec une pièce jointe
    Par adil54 dans le forum Langage
    Réponses: 4
    Dernier message: 11/07/2012, 13h58
  3. Envoyer un e-mail avec une pièce jointe
    Par KDZCrew dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2010, 15h56
  4. Réponses: 4
    Dernier message: 09/06/2010, 17h44
  5. [Mail] Envoi du contenu d'une pièce jointe par mail
    Par nonhosonno dans le forum Langage
    Réponses: 2
    Dernier message: 28/02/2007, 13h42

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