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 :

Envoyer et classer. Copie dans Eléments envoyés et dans un autre dossier


Sujet :

VBA Outlook

  1. #1
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut Envoyer et classer. Copie dans Eléments envoyés et dans un autre dossier
    Bonjour,

    Jusqu'à ce jour j'utilisais Lotus Notes
    Lors de l'envoi d'un mail je cliquai sur Envoyer et classer et mon mail se trouvait à la fois dans les éléments envoyés et dans le dossier sélectionné, LE TOP

    Avec Outlook, j'ai trouvé ce code pour Envoyer et déplacer dans un dossier spécifique.
    Le problème c'est que le mail envoyé n'est plus présent dans le dossier Eléments envoyés, c'est fâcheux !
    Comment modifier le code ci-dessous pour qu'il laisse une copie du mail envoyé dans éléments envoyés ?


    Merci pour votre aide et excellente soirée
    Philippe

    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
    Option Explicit
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
    If Not Item.Class = olMail Then GoTo fin
     
    Dim objNS As NameSpace
    Dim objFolder As MAPIFolder
     
    Set objNS = Application.GetNamespace("MAPI")
    Set objFolder = objNS.PickFolder
    If TypeName(objFolder) = "Nothing" Then
    Set objNS = Application.GetNamespace("MAPI")
    Set objFolder = objNS.GetDefaultFolder(olFolderDeletedItems)
    End If
    Set Item.SaveSentMessageFolder = objFolder
    fin:
    End Sub

  2. #2
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    J'ai ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Set MSG = Item.Copy
            MSG.Move objNS.GetDefaultFolder(olFolderSentMail) ' Copie le message dans le dossier éléments envoyés

    Mais ce n'est pas correct, car j'ai effectivement une copie du message dans le dossier Eléments envoyés, mais c'est une copie du mail pas encore envoyé et il est non lu ....

    Pas facile ce VBA ...

    Bonne nuit





    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
    Option Explicit
     
    'Outlook_365
    'Ouvre une boite de dialogue à l'envoi du message permettant de choisir ou classer le mail.
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
    Boolean)
     
     
    If Not Item.Class = olMail Then GoTo fin
     
        Dim objNS As NameSpace
        Dim objFolder As MAPIFolder
        Dim MSG As Object
     
                Set objNS = Application.GetNamespace("MAPI")
                Set objFolder = objNS.PickFolder 'Pickfolder = fenêtre pour choisir le dossier. Dossier éléments envoyés = Item.SaveSentMessageFolder
     
                If TypeName(objFolder) = "Nothing" Then
     
                    Set objNS = Application.GetNamespace("MAPI")
                    Set objFolder = objNS.GetDefaultFolder(olFolderSentMail) 'Si annuler est classé dans éléments envoyés. Dossier supprimés = olFolderDeletedItems
     
                End If
     
            Set Item.SaveSentMessageFolder = objFolder 'Déplace le message dans le dossier choisi
            Set MSG = Item.Copy
            MSG.Move objNS.GetDefaultFolder(olFolderSentMail) ' Copie le message dans le dossier éléments envoyés
    fin:
    End Sub

  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
    Bonjour,
    Dans Outlook , contrairement à LOTUS ce sont de vrai Dossiers où on classe un Email, L'Email s'il est dans 2 dossiers existe donc 2 fois, (Lotus se sont des vues)

    Le plus simple et sans programmation c'est de créer un "Dossier de recherche" (dans l’arborescence des dossiers, tu cliques bouton droit/ nouveau) et de l'ajouter aux favoris

    Avec comme critère "créer un dossier de recherche personnalisé"
    de: ton adresse Email
    Parcourir: tu sélectionnes la racine de ta boite et tu coches "rechercher dans les sous-dossiers"

    ensuite bouton droit sur ce dossier et "Afficher dans les favoris"

  4. #4
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Hello Oliv-

    Merci pour l'info, excellent, j'ai mis un moment à trouver, une copie d'écran pour aider

    Mille merci et bonne soirée
    Philippe

    Nouveau dossier de recherche : Tous les messages envoyés
    Nom : 1.png
Affichages : 6105
Taille : 12,1 Ko

    Nouveau dossier de recherche : Tous les messages
    Nom : 2.png
Affichages : 6080
Taille : 12,1 Ko

    Envoyer et classer dans un dossier :
    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
    Option Explicit
     
    'Outlook_365
    'Ouvre une boite de dialogue à l'envoi du message permettant de choisir ou classer le mail.
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
    Boolean)
     
     
    If Not Item.Class = olMail Then GoTo fin
     
        Dim objNS As NameSpace
        Dim objFolder As MAPIFolder
        Dim MSG As Object
     
                Set objNS = Application.GetNamespace("MAPI")
                Set objFolder = objNS.PickFolder 'Pickfolder = fenêtre pour choisir le dossier. Dossier éléments envoyés = Item.SaveSentMessageFolder
     
                If TypeName(objFolder) = "Nothing" Then
     
                    Set objNS = Application.GetNamespace("MAPI")
                    Set objFolder = objNS.GetDefaultFolder(olFolderSentMail) 'Si annuler est classé dans éléments envoyés. Dossier supprimés = olFolderDeletedItems
     
                End If
     
            Set Item.SaveSentMessageFolder = objFolder 'Déplace le message dans le dossier choisi
    fin:
    End Sub

  5. #5
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Hello,

    J'ai crié victoire trop vite, car le nouveau dossier de recherche : Tous les messages envoyés, affichent tous les messages ... Grrrrrrr

    C'est tout de même incroyable que ces dossiers ne soient pas natif chez Outlook ....

    Bon weekend

    Philippe

  6. #6
    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,
    C'est parce que tu n'as pas mis les bon éléments
    Nom : DossierRecherche.png
Affichages : 6112
Taille : 66,3 Ko

  7. #7
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Hello,

    Merci pour les copies d'écran, j'ai fait exactement comme indiqué, il y tous les envoyés, mais le problème il y a tous messages :

    96 messages dans le dossiers : Tous les messages
    61 message dans le dossiers : Eléments envoyés (sans les envoyés classés)
    0 message dans le dossiers : Tous les envoyés

    Je désespère ...., qu'as tu configuré dans les autres onglets ?

    Merci pour ton aide

    Philippe

  8. #8
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    Dans la macro ci-dessous comment faire pour présélectionner le dossier Eléments envoyés au lieu de Boite de réception ? Voir image

    Merci et excellent week end

    Philippe



    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
    Option Explicit
     
    'Outlook_365
    'Ouvre une boite de dialogue à l'envoi du message permettant de choisir ou classer le mail.
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
    Boolean)
     
     
    If Not Item.Class = olMail Then GoTo fin
     
        Dim objNS As NameSpace
        Dim objFolder As MAPIFolder
        Dim MSG As Object
     
                Set objNS = Application.GetNamespace("MAPI")
                Set objFolder = objNS.PickFolder 'Pickfolder = fenêtre pour choisir le dossier. Dossier éléments envoyés = Item.SaveSentMessageFolder
     
                If TypeName(objFolder) = "Nothing" Then
     
                    Set objNS = Application.GetNamespace("MAPI")
                    Set objFolder = objNS.GetDefaultFolder(olFolderSentMail) 'Si annuler est classé dans éléments envoyés. Dossier supprimés = olFolderDeletedItems
     
                End If
     
            Set Item.SaveSentMessageFolder = objFolder 'Déplace le message dans le dossier choisi
    fin:
    End Sub

    Nom : 11-02-2017 11-04-05.png
Affichages : 6042
Taille : 17,8 Ko

  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
    Salut,
    tu veux dire que la fenêtre Pickfolder se positionne à l'ouverture sur "Elements Envoyés" ?

    Il n'y a pas de paramètre pour cela il faut modifier dans les options avancées de OL le dossier de démarrage "Démarrer Outlook dans ce dossier"

    Tu pourrais aussi utiliser REDEMPTION qui lui permet cela
    Set rdoFolder = RDOSession.PickFolder(InitialFolder, "Please select a folder")

  10. #10
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Salut Oliv,
    Tu n'as pas compris la question, lorsque j'envoie un mail, la boîte de dialogue classé sous s'affiche automatiquement ,ce que fait la macro.
    Le dossier sélectionné par défaut est le dossier Boîte de réception, mais j'aimerai que ce soie le dossier Éléments envoyés, de cette façon si je ne classe pas le mail le dossier éléments envoyés et déjà présélectionné.

    Merci et bonne journée Philippe

  11. #11
    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
    Si si c'est bien ce que j'ai dit.

  12. #12
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Ok, super et merci
    Quelle est code VBA pour sélectionner le dossier Boîte de réception lors de l'ouverture de Outlook ?

    Merci et bonne soirée Philippe

  13. #13
    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
    C'est compliqué !
    il faut changer une valeur du registre 001e0336 sous la clef :

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\profile-name\0a0d020000000000c000000000000046


    et le contenu est un savant mélange de folderID et storeID

    qui doivent dépendre du compte ...

  14. #14
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Ok et merci pour toutes vos réponses

    Bonne soirée Philippe

  15. #15
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Bonjour à tous,

    Sur mon PC privé OL365, la macro ci-dessous fonctionne à merveille, mais j'ai un gros problème avec OL365 sur mon PC professionnel, j'ai ajouter la macro est rien ne se passe.

    C'est comme si tout était désactivé, est ce possible?
    Comment vérifier si le problème est du côté PC-OL365 ou du côté de la macro ?

    Milles merci et bon week end
    Philippe

    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
     
    Option Explicit
     
    'Outlook_365
    'Ouvre une boite de dialogue à l'envoi du message permettant de choisir ou classer le mail.
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
    Boolean)
     
     
    If Not Item.Class = olMail Then GoTo fin
     
        Dim objNS As NameSpace
        Dim objFolder As MAPIFolder
        Dim MSG As Object
     
                Set objNS = Application.GetNamespace("MAPI")
                Set objFolder = objNS.PickFolder 'Pickfolder = fenêtre pour choisir le dossier. Dossier éléments envoyés = Item.SaveSentMessageFolder
     
                If TypeName(objFolder) = "Nothing" Then
     
                    Set objNS = Application.GetNamespace("MAPI")
                    Set objFolder = objNS.GetDefaultFolder(olFolderSentMail) 'Si annuler est classé dans éléments envoyés. Dossier supprimés = olFolderDeletedItems
     
                End If
     
            Set Item.SaveSentMessageFolder = objFolder 'Déplace le message dans le dossier choisi
    fin:
    End Sub

  16. #16
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    En fait mon employeur n'a pas activé les macros dans Outlook, incroyable

    Pour que la macro fonctionne je dois la signer numériquement

    J'ai trouvé comment ajouter le certificat numérique et créer le certificat

    C:\Program Files (x86)\Microsoft Office\root\Office16 et SELFCERT pour créer le certificat

    Problème le nom du certificat n’apparaît pas dans la signature du projet VBA, mais il est présent dans : Signer en tant que ..... voir image

    Lorsque je choisi le certificat, les 2 champs indiqués ci-dessus sont complétés avec mon certificat, lorsque je ferme Outlook il me demande d’enregistrer les modifications, ce que je fais, mais lors de la réouverture, j'ai une erreur, et le champs du haut est vide. voir image

    Qui peut m'aider ?

    Merci et bon dimanche

    Philippe

    Nom : certi.png
Affichages : 5904
Taille : 9,0 Ko

    Nom : Ajouter un certificat VBA.png
Affichages : 5925
Taille : 136,2 Ko

  17. #17
    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
    Bjr l'option des macros est elle grisėe ?
    Tu peux essayer en démarrant Outlook en mode administrateur en cliquant bouton droit sur le icone

  18. #18
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Les options sont effectivement grisées et je ne suis pas administrateur, c'est pourquoi je veux signer numériquement la macro pour qu'elle soit acceptée.

    Merci pour votre aide. Philippe

  19. #19
    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,
    Peux tu essayer à partir d'outlook fermé, tu maintiens la touche shift enfoncée puis tu cliques bouton droit sur Outlook et tu devrais avoir "Exécuter en tant d'administrateur"

    ensuite soit tu as accès soit cela te demande un mot de passe.

  20. #20
    Futur Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    bonjour,
    j'ai exactement le même problème. as-tu trouvé une solution ?
    merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2016, 14h18
  2. Réponses: 2
    Dernier message: 25/06/2013, 16h25
  3. Réponses: 9
    Dernier message: 02/06/2007, 15h42
  4. Réponses: 3
    Dernier message: 08/02/2007, 13h15
  5. Réponses: 15
    Dernier message: 13/03/2006, 16h24

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