1. #1
    Membre du Club
    Homme Profil pro
    enquiquineur d'unparia
    Inscrit en
    février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : enquiquineur d'unparia

    Informations forums :
    Inscription : février 2014
    Messages : 80
    Points : 46
    Points
    46

    Par défaut Macro Sauvegarde du mail dans une règle Outlook

    Hello,

    Alors voilà, je cherche à la réception d'un mail spécifique à enregistrer le mail exactement comme si je faisais un drag & drop vers mon folder (ex: "C:\Users\MonSavon\Documents\Test"), en plus des PJ. En ce qui concerne les PJ: pas de soucis, sauvegarder le mail (dans une macro à part), pas de soucis, mais les 2 dans la même macro : cela ne marche pas, sans message d'erreur.

    Dans mon code si dessous, je cherche à sauvegarde le mail si celui ci vient de mike, et sauvegarder les PJ en gérant mes folders.
    Si je laisse le code comme ça, cela ne marche pas. Si je met en commentaire la LIGNE BUG, cela marche sans soucis. Il doit y avoir quelque chose que je ne comprend pas!

    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
     
    Sub SaveAttachement(Item As Outlook.MailItem)
            Dim TabPath(2) As String, SavePath As String
            Set attachs = Item.Attachments
     
     
            TabPath(0) = "\\toto\"
            TabPath(1) = "\\tata\"
     
            'Tableau de direction des PJ____________________________________________
            If (Item.Sender = "jordran@live.com") Then
                SavePath = TabPath(0)
            ElseIf (Item.Sender = "mike@live.com") Then
                SavePath = TabPath(1)
                Item.SaveAs TabPath(1) & Item.Subject & ".msg", OlSaveAsType.olMSG 'LIGNE BUG
            End If
            '_______________________________________________________________________
     
            For Each attach In attachs
                file = attach.FileName
                attach.SaveAsFile SavePath & file
            Next
    End Sub
    Quelqu'un aurait-il une idée ?

    Merci d'avance à tous !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    12 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Developpeur VBA migrant tranquillement vers C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 12 367
    Points : 27 294
    Points
    27 294

    Par défaut

    Salut,

    le code de depart ne me semble pas a priori foireux, quel est exactement le message d'erreur stp ?

    https://msdn.microsoft.com/fr-fr/lib.../ff868727.aspx
    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Homme Profil pro
    enquiquineur d'unparia
    Inscrit en
    février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : enquiquineur d'unparia

    Informations forums :
    Inscription : février 2014
    Messages : 80
    Points : 46
    Points
    46

    Par défaut

    Hello!

    Merci de ta réponse.

    Et bien je n'ai aucune erreur, c'est bien ça qui est curieux.
    Et j'ai mis la ligne SaveAs dans une macro à part exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub SaveMail(Item As Outlook.MailItem)
     
                Item.SaveAs TabPath(1) & Item.Subject & ".msg", OlSaveAsType.olMSG 'LIGNE BUG
    End Sub
    et ça marche... (avec les params définit dans la sub)

    Je vais essayer d'appeler la macro SaveMail dans la SaveAttachement.

    On va voir.

    Bonne journée

  4. #4
    Membre du Club
    Homme Profil pro
    enquiquineur d'unparia
    Inscrit en
    février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : enquiquineur d'unparia

    Informations forums :
    Inscription : février 2014
    Messages : 80
    Points : 46
    Points
    46

    Par défaut

    Allez comprendre pourquoi, mon nouveau code marche, j'ai planqué le SaveAs du mail dans une seconde macro que j'appelle et ça marche....

    L'informatik cey magik

    Si ça sert à quelqu'un :

    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
     
     
    Option Base 0
     
    Sub SaveAttachement(Item As Outlook.MailItem)
            Dim TabPath(2) As String, SavePath As String
            Set attachs = Item.Attachments
     
     
            TabPath(0) = "\\toto\"
     
            TabPath(1) = "\\tata\"
     
            'Tableau de direction des PJ____________________________________________
            If (Item.Sender = "labretagnecavousgagne@finistere.bzh") Then
                SavePath = TabPath(0)
            ElseIf (Item.Sender = "ilnepleutjamais@finistere.bzh") Then
                SavePath = TabPath(1)
                Call SaveMyMail(Item, TabPath(1))
            End If
            '_______________________________________________________________________
     
            For Each attach In attachs
                file = attach.FileName
                attach.SaveAsFile SavePath & file
            Next
    End Sub
     
     
     
    Sub SaveMyMail(MyMail As Outlook.MailItem, SavePath As String)
        Dim Sujet As String
        Sujet = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(MyMail.Subject, "\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), ".", ""), """", ""), vbTab, ""), Chr(7), "")
        MyMail.SaveAs SavePath & Sujet & ".msg", OlSaveAsType.olMSG
    End Sub
    Kenavo !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/09/2013, 19h20
  2. Réponses: 32
    Dernier message: 02/06/2008, 12h02
  3. Changer l'expéditeur de mail dans une commande linux
    Par TomyMak dans le forum Réseau
    Réponses: 6
    Dernier message: 15/03/2006, 15h05
  4. Créer un mail dans une application
    Par Cedced dans le forum Windows
    Réponses: 1
    Dernier message: 03/10/2005, 12h35

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