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

Macros et VBA Excel Discussion :

Sauvegarde de mail via excel [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Par défaut Sauvegarde de mail via excel
    Bonjour,
    Je suis confronté à un problème, je souhaite sauvegarder un mail envoyé automatiquement depuis excel via outlook dans un répertoire.
    Cependant, on un .SaveAs avant un .send sauvegarde la version "display" du mail, sinon en essayant après cela retourne une erreur (l'objet mail a été vidé ou supprimé).
    J'ai donc essayé de récupérer dans la boite d'envoie le mail, ce qui fonctionne mais je dois alors pouvoir désactiver les règles outlook (tout en restant 100% sur excel), car le module s'appliquera à plusieurs boites mails différentes traitant et déplaçant parfois les mails envoyés dans d'autre dossier .
    Donc je viens vers vous pour connaître la solution à une des deux propositions :
    1. Sauvegarder un mail après un .send
    2. Désactiver les règles Outlook depuis Excel

    Merci beaucoup.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Et en faire un PDF, ça ne pourrait pas convenir ?

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour

    je pige pas tres bien ton soucis
    tu pourrais selon moi sauvegarder tout simplement le bodyhtml du mail.item même dans un .txt
    je dis ca Outlook n'est pas mon point fort je suis plutôt CDO mais il me semble qu'il y a une propertie htmlbody ou bodyhtml (comme CDO) pour Outlook aussi donc y a plus qu'a
    tu pourrais ajouter en fin de txt les destinataires nom des pieces jointes etc......
    je dis ca juste comme ca en passant
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Par défaut MAJ
    Alors, le product owner souhaite un .msg J'ai finalement contourné le problème en attrapant le mail dans les mails envoyés en prenant soin de désactiver les règles d'Outlook avant puis les réactiver après.
    (Etant nouveau sur le forum, je ne sais pas si dois-je le passer en résolue ? Même si le problème d'origine n'a pas été résolue mais contourné)
    Merci pour votre temps !

    Cordialement

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    c'est le code qui serait intéressant de voir
    ca pourrait servir au autres
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Par défaut Code suavegarde de mail alternatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    gestionRules.DesactivateRule 'désactivation des règles appliqué dans l'application Outlook
                myItem.DeleteAfterSubmit = False 'On active la copie dans les "éléments envoyés"
                myItem.Display  'Afficher le brouillon
                Chargement.Show 'Bouton de chargement (pour faire patienter l'utilisateur)
     
                Set ns = ol.GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail) 
                ns.Items(ns.Items.Count).SaveAs ThisWorkbook.Path & "\RNC\" & titre & "Dir\" & titre & ".msg"  'Sauvegarde du dernier message de la boite "Éléments envoyés"
                gestionRules.ActivateRule    'Réactivation des règles
    il existe deux procédures pour désactiver les règles d'une application Outlook
    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
     
    Public tableau(20)
    Sub DesactivateRule()
        Dim oFromCondition As Object
        Set OutApp = CreateObject("Outlook.Application")
        Dim st As Outlook.Store
        Dim myRules As Outlook.Rules
        Dim rl As Outlook.Rule
        Dim i As Integer
        ' récupération l'emplacement de stockage des règles
        Set st = OutApp.Session.DefaultStore
        ' récupération de toutes les règles disponibles
        Set myRules = st.GetRules
        ' Parcours de chaque règle
        i = 0
        For Each rl In myRules
            If rl.Enabled = True Then
                rl.Enabled = False
            Else
                tableau(i) = rl.Name
                i = i + 1
            End If
        Next
        myRules.Save
     
    End Sub
     
    Sub ActivateRule()
        Dim oFromCondition As Object
        Set OutApp = CreateObject("Outlook.Application")
        Dim st As Outlook.Store
        Dim myRules As Outlook.Rules
        Dim rl As Outlook.Rule
     
        ' récupération l'emplacement de stockage des règles
        Set st = OutApp.Session.DefaultStore
        ' récupération de toutes les règles disponibles
        Set myRules = st.GetRules
     
        ' Parcours de chaque règle
        For Each rl In myRules
            If Not present(tableau, rl.Name) Then rl.Enabled = True
        Next
        myRules.Save
    End Sub
     
    Function present(tableau, nom)
        For i = 0 To UBound(tableau)
            If tableau(i) = nom Then present = True
        Next
    End Function

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

Discussions similaires

  1. [XL-2003] Création Mail via Excel
    Par korni184 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/04/2012, 00h45
  2. envoyer un mail via excel
    Par zangaloni dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/04/2011, 19h23
  3. Envoi d'un mail via excel
    Par tidams dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/01/2009, 00h05
  4. Mail via Excel sans body
    Par pascal58 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2006, 16h30
  5. [VBA-Excel]Probleme Mailing via Excel
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2006, 13h08

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