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 :

Déplacer/trier automatiquement les mails sortants


Sujet :

VBA Outlook

  1. #1
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut Déplacer/trier automatiquement les mails sortants
    Bonjour,

    dans les règles de tri sur les messages sortant il y a seulement 'copier le message' mais pas 'déplacer le message'. Y-a-t'il un moyen simple de faire un déplacement plutôt qu'une copie ?

    C'est d'autant plus bizard que pour les messages sortant c'est l'une des promière options
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut Nono,

    C'est vrai que dans les règles tu as 'déplacer une copie vers le dossier spécifié' cela créer une copie du mail qui est placée dans le dossier donc tu te retrouve avec une copie dans éléments envoyés + une copie dans le dossier spécifié.

    autre solution serait de créer une macro et ensuite tu créer une règle qui sur un message sortant exécute la macro


    Dolphy

  3. #3
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Va falloir que je fasse du VBA alors
    Je regarde dés que j'ai le temps.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  4. #4
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 139
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    Dans la version 2007 c'est possible. En 2003 je pense que le vba s'impose.

    A bientôt,

  5. #5
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut Nono,

    voici un petit code qui s'exécute sur l'envoi d'un mail, par défaut dans un dossier appelé "dolphy_essais", copie le code dans le module ThisOutlookSession :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
        Dim objNSpace As NameSpace
        Dim fldDestination As MAPIFolder
        If Not Item.Class = olMail Then Exit Sub
        Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("Boîte de réception").Folders("dolphy_essais")
        Set Item.SaveSentMessageFolder = fldDestination
     
    End Sub
    tu peux ouvrir une boîte de dialogue demandant le dossier de destination :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
        Dim objNSpace As namespace
        Dim fldDestination As MAPIFolder
        Dim items As MailItem
        If Not Item.Class = olMail Then Exit Sub
        Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        Set Item.SaveSentMessageFolder = fldDestination
     
    End Sub
    Dolphy

  6. #6
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut


    Ta fonction brutte fonctionne, mais j'ai essayé d'ajouter un tri en fonction de l'adresse émetrice qui ne fonctionne 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
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
        Dim objNSpace As NameSpace
        Dim fldDestination As MAPIFolder
        If Not Item.Class = olMail Then Exit Sub
        Set objNSpace = Application.GetNamespace("MAPI")
        'Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("éléments envoyés").Folders("test")
        If InStr(1, Item.SenderEmailAddress, "Nono40@redaction-developpez.com", vbTextCompare) > 0 Then
            Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("éléments envoyés").Folders("DVP Nono40")
        Else
        If Item.SenderEmailAddress = "Delphi@redaction-developpez.com" Then
            Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("éléments envoyés").Folders("DVP Delphi")
        Else
            Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("éléments envoyés").Folders("Test")
        End If
        End If
        Set Item.SaveSentMessageFolder = fldDestination
    End Sub
    En mise au point, l'espion sur Item dit que Item.SenderEmailAddress ='' et Item.SenderEmailNale = ''

    PS : Pour info la macro est exécutée quand on clique sur "Envoyer" et donc avant qu'il soit réellement envoyé par "Envoyer/Recevoir", mais ce n'est pas génant.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  7. #7
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Le soucis est le fait que le mail n'est pas envoyé donc on n'a pas l'info SenderMailAdress, sous OL2007 une nouvelle méthode permet de connaître le compte expéditeur : SendUsingAccount
    de ce qui est de 2003 je n'ai jamais eu à le faire, sinon autre méthode récupérer le EntryID du mail et après avoir envoyé rechercher le mail pour le déplacer vers le dossier adéquat, c'est peut être pas la meilleure solution mais ça peut fonctionner.


    Dolphy

  8. #8
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    sinon autre méthode récupérer le EntryID du mail et après avoir envoyé rechercher le mail pour le déplacer vers le dossier adéquat
    Le tout est surtout de savoir QUAND les mails sont envoyés réellement. Dans les évènements de Application y'a quasi rien.

    - La copie est faite au moment ou on clique sur 'envoyer' et non pas au moment ou l'envoi est fait. Le mail part donc dans 'Eléments envoyés' alors qu'il n'est... pas envoyé.
    - La copie est marquée comme non lue...

    Ce qui m'a fait vérfier que les règles ne sont pas exécutées à l'envoi réel mais au placement du mail dans Boite d'envoi. Ca exclu donc direct tout passage par ce point.
    J'ai vu aussi en passant que l'on ne pouvait pas appeler une macro via une règle, il fallait en faire une Dll externe

    J'ai quand même du mal à piger comment MS à pu oublier que l'on veuille trier les mails qui partent
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  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,
    la méthode
    récupérer le EntryID du mail et après avoir envoyé rechercher le mail pour le déplacer vers le dossier adéquat
    ne fonctionne pas car ce n'est pas le même EntryID (il faut bien sûr enregister le mail pour qu'il crée un EntryID).


    L'événement itemSEND se produit quand on clique sur envoyer
    ensuite le mail va dans la boite d'envoi puis une copie dans éléments envoyés ou le dossier paramétré dans les options.

    J'ai vu aussi en passant que l'on ne pouvait pas appeler une macro via une règle, il fallait en faire une Dll externe
    Si à partir de 2003 (je pense) on peut executer un script sur une règle.

  10. #10
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,
    Citation Envoyé par Oliv- Voir le message
    J'ai vu aussi en passant que l'on ne pouvait pas appeler une macro via une règle, il fallait en faire une Dll externe
    Si à partir de 2003 (je pense) on peut exécuter un script sur une règle.
    pas sur l'envoi de mail, il est possible sur le réception mais pas sur l'envoi

    Comment créer un script dans une règle d'arrivée d'un message ?


    Dolphy

  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
    Oui effectivement juste à la reception

  12. #12
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,

    Je rebondis sur le 2ième code qui est super efficace mais il ne fonctionne pas quand on fait clic droit sur un fichier(à envoyer) /envoyer vers /destinataire, avez-vous une solution ou une adaptation du code ??

    Merci beaucoup.




    Citation Envoyé par Dolphy35 Voir le message
    Salut Nono,

    voici un petit code qui s'exécute sur l'envoi d'un mail, par défaut dans un dossier appelé "dolphy_essais", copie le code dans le module ThisOutlookSession :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
        Dim objNSpace As NameSpace
        Dim fldDestination As MAPIFolder
        If Not Item.Class = olMail Then Exit Sub
        Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.Folders("Dossiers personnels").Folders("Boîte de réception").Folders("dolphy_essais")
        Set Item.SaveSentMessageFolder = fldDestination
     
    End Sub
    tu peux ouvrir une boîte de dialogue demandant le dossier de destination :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
     
        Dim objNSpace As namespace
        Dim fldDestination As MAPIFolder
        Dim items As MailItem
        If Not Item.Class = olMail Then Exit Sub
        Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        Set Item.SaveSentMessageFolder = fldDestination
     
    End Sub
    Dolphy

  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
    Bonjour,

    Effectivement, tu as raison, alors voici plusieurs façons d'y parvenir

    1-Créer une DLL avec ton code https://www.developpez.net/forums/d1...dll-com-addin/
    2-Utiliser l'événement d'ajout d'un item dans Elements envoyés
    Dans THISOUTLOOKSESSION

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim WithEvents colSentItems As Items
     
    Private Sub Application_Startup()
        Dim NS As Outlook.NameSpace
        Set NS = Application.GetNamespace("MAPI")
     
        Set colSentItems = NS.GetDefaultFolder(olFolderSentMail).Items
    End sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub colSentItems_ItemAdd(ByVal Item As Object)
    'By Oliv ' janv 2008 pour Outlook 2003 feat. Sue Mosher
    'http://www.outlookcode.com/codedetail.aspx?id=456
        If Item.Class = olMail Then
          Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        item.move fdlDestination
     
        End if
    End sub
    3-Enregistrer le mail; le fermer et le réouvrir à partir des brouillons pour l'envoyer.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Merci bcp Oliv pour ton aide,

    Je suis débutant et je n'arrive pas à utiliser les codes communiqués. J'ai ajouté au code initial par simple copier coller les 2 codes que tu m'as communiqués mais ça ne fonctionne pas, dois-je faire une autre manipulation ?

    Merci encore !




    Citation Envoyé par Oliv- Voir le message
    Bonjour,

    Effectivement, tu as raison, alors voici plusieurs façons d'y parvenir

    1-Créer une DLL avec ton code https://www.developpez.net/forums/d1...dll-com-addin/
    2-Utiliser l'événement d'ajout d'un item dans Elements envoyés
    Dans THISOUTLOOKSESSION

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim WithEvents colSentItems As Items
     
    Private Sub Application_Startup()
        Dim NS As Outlook.NameSpace
        Set NS = Application.GetNamespace("MAPI")
     
        Set colSentItems = NS.GetDefaultFolder(olFolderSentMail).Items
    End sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub colSentItems_ItemAdd(ByVal Item As Object)
    'By Oliv ' janv 2008 pour Outlook 2003 feat. Sue Mosher
    'http://www.outlookcode.com/codedetail.aspx?id=456
        If Item.Class = olMail Then
          Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        item.move fdlDestination
     
        End if
    End sub
    3-Enregistrer le mail; le fermer et le réouvrir à partir des brouillons pour l'envoyer.

  15. #15
    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
    En principe un simple copié/collé devrait suffire !
    Mais il faut initialiser la variable colSentItems

    pour cela tu dois lancer la macro Application_Startup ou fermer et relancer OUTLOOK.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Désolé mais je n'y arrive pas !!!

    Quel(s) code(s) dois-je coller et où ? et une fois que j'ai collé que dois-je faire ?

    Merci encore pour votre aide précieuse.

    Citation Envoyé par Oliv- Voir le message
    En principe un simple copié/collé devrait suffire !
    Mais il faut initialiser la variable colSentItems

    pour cela tu dois lancer la macro Application_Startup ou fermer et relancer OUTLOOK.

  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
    Bonjour,
    tout le code suivant DANS ThisOutlookSession

    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
     
    Dim WithEvents colSentItems As Items
     
    Private Sub Application_Startup()
        Dim NS As Outlook.NameSpace
        Set NS = Application.GetNamespace("MAPI")
     
        Set colSentItems = NS.GetDefaultFolder(olFolderSentMail).Items
    End sub
     
    Private Sub colSentItems_ItemAdd(ByVal Item As Object)
    'By Oliv ' janv 2008 pour Outlook 2003 feat. Sue Mosher
    'http://www.outlookcode.com/codedetail.aspx?id=456
        If Item.Class = olMail Then
          Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        item.move fdlDestination
     
        End if
    End sub
    Ensuite tu mets ton curseur dans la macro Application_Startup() et tu appuies sur F5, ou alors tu redémarre OUTLOOK.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Merci et Merci encore Oliv mais gros boulet je suis ! ça ne fonctionne toujours pas, je vais opter pour la méthode annuler/brouillon et puis envoi depuis brouillon.

    Par hasard, connaitrais-tu le code pour exécuter toutes les règles sur le dossier boite de réception à l'ouverture d'Outlook ?

    Je te souhaite un bon we.

    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    tout le code suivant DANS ThisOutlookSession

    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
     
    Dim WithEvents colSentItems As Items
     
    Private Sub Application_Startup()
        Dim NS As Outlook.NameSpace
        Set NS = Application.GetNamespace("MAPI")
     
        Set colSentItems = NS.GetDefaultFolder(olFolderSentMail).Items
    End sub
     
    Private Sub colSentItems_ItemAdd(ByVal Item As Object)
    'By Oliv ' janv 2008 pour Outlook 2003 feat. Sue Mosher
    'http://www.outlookcode.com/codedetail.aspx?id=456
        If Item.Class = olMail Then
          Set objNSpace = Application.GetNamespace("MAPI")
        Set fldDestination = objNSpace.PickFolder
        item.move fdlDestination
     
        End if
    End sub
    Ensuite tu mets ton curseur dans la macro Application_Startup() et tu appuies sur F5, ou alors tu redémarre OUTLOOK.

  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
    Bonjour,
    Qu'est-ce qui ne fonctionne pas ? As tu déjà des macros dans outlook qui fonctionnent ?

    as tu bien collé le tout dans DANS ThisOutlookSession

    as tu un message d'erreur ?

  20. #20
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Bonjour Oliv,

    Je n'ai pas d'autres macros dans Outlook, j'ai inséré uniquement ton code précédemment communiqué dans ThisOutlookSession.

    J'envoie un mail et rien ne se passe (hormis l'envoi effectif du mail), pas de fenêtre qui me demande à quel dossier affecter ??

    Nous nous sommes probablement pas bien compris ou plutôt j'ai mal exprimé mon besoin. J'essaie de reformuler.

    Le premier code utilisé et récupéré sur le site me permet quand j'envoie un mail d'avoir une fenêtre qui s'affiche et qui me "demande" dans quel dossier doit on classer le mail envoyé. Cette procédure fonctionne parfaitement pour les mails rédigés "normalement" ouverture Outlook puis nouveau message puis envoyer :Méthode normale

    Cette fenêtre ne s'affiche malheureusement plus quand nous envoyons un mail à partir d'une pièce jointe ou fichier en faisant clic droit sur le fichier puis envoyer vers puis destinataire, or j'utilise souvent cette méthode d'envoi dans mon travail: Méthode particulière

    Peut-on avoir cette fenêtre qui apparait immédiatement après l'envoi d'un mail peu importe la méthode d'envoi (normale ou particulière) ?

    Un grand merci.


    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Qu'est-ce qui ne fonctionne pas ? As tu déjà des macros dans outlook qui fonctionnent ?

    as tu bien collé le tout dans DANS ThisOutlookSession

    as tu un message d'erreur ?

Discussions similaires

  1. [Wamp] Comment rediriger tous les mails sortants vers une adresse ?
    Par atom41 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 10/01/2012, 20h13
  2. Ajout automatique de bannière à tous les mails sortants
    Par Raz-X dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 01/06/2011, 00h30
  3. Archiver les mails sortants
    Par rabobsky dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 17/07/2009, 09h29
  4. déplacer les mails envoyés par VBA directement
    Par benpinta dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 04/12/2007, 13h53
  5. Déplacer automatiquement des mails
    Par oc_alex86 dans le forum VBA Outlook
    Réponses: 13
    Dernier message: 06/11/2007, 11h29

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