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 :

réactiver fenêtre outlook apres macro


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ing
    Inscrit en
    Juin 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ing

    Informations forums :
    Inscription : Juin 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut réactiver fenêtre outlook apres macro
    Bonjour


    j'ai réutilisé un bout de code pour enregistrer des mails selectionnés.

    Je vais essayer d'être clair sur ma demande mais ce n'est pas évident.

    A la fin de la macro, la selection active des mails n'est plus, il faut que je reclick gauche avec la souris pour pouvoir reselectionner un autre mail. Comme je sauvegarde là, en gros mail par mail dans des répertoires différents, j'aimerais à la fin de la macro pouvoir juste avoir à faire la flèche du bas pour descendre mon ancienne selection et refaire ma macro au prochain mail qui m'intéresse de sauvegarder

    J'ai tenté de simuler un click gauche, réactiver la fenetre mais je n'ai peut etre pas bien écrit ce qu'il fallait....


    Merci par avance



    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
     
    Sub save_mail_selection_rep2()
        Dim MonOutlook As Outlook.Application
        Dim LeMail As Object
        Dim LesMails As Outlook.Selection
        Set MonOutlook = Outlook.Application
     
        Set LesMails = MonOutlook.ActiveExplorer.Selection
     
        For Each LeMail In LesMails
            sav_mail_as_msg_rep2 LeMail
        Next LeMail
     
        Set LesMails = Nothing
        'MsgBox "Fin de traitement"
     
     
     
     
     
     
     
     
     
     
    Sub sav_mail_as_msg_rep2(Optional objCurrentMessage As Object)
    'By Oliv' juillet 2007 pour OUTLOOK 2003
     
        If objCurrentMessage Is Nothing Then Set objCurrentMessage = ActiveInspector.CurrentItem
     
     
    'code pour inversé date
     
     
        inversiondatef = Format(objCurrentMessage.CreationTime, "YYYY-MM-DD hh_mm")
        inversiondatef = Replace(inversiondatef, "_", "h")
     
     
        'fin code inversion date
     
        'reprise code initial
     
         'Ici on construit le nom du fichier qui sera créé
        NomExport = inversiondatef & " " & objCurrentMessage.Subject
     
        'Ici on défini le répertoire où l'enregistrer
        'modif choix repertoire
            'repertoire = "D:\mail\"
     
     
     
     
        repertoire = "D:\Users\user\Desktop\repertoire-" & InputBox("numéro") & "\"
     
     
        'repertoire = BrowseForFolder("Choisissez la destination", SDossier(5, 0)) & "\"
     
        'Ici on supprime les caractères non autorisé dans les noms de fichiers
        PathNomExport = repertoire & Left(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace( _
        NomExport, "\", ""), "/", ""), ":", ""), "*", ""), "?", ""), "<", ""), ">", ""), "|", ""), ".", ""), """", ""), vbTab, ""), Chr(7), ""), 160) & ".msg"
     
        'Ici on vérifie que le fichier n'existe pas déjà sinon il serait écrasé
        n = 1
        MemPath = PathNomExport
        While Dir(PathNomExport) <> ""
            MsgBox "Le fichier " & vbCr & PathNomExport & vbCr & "existe déjà", vbInformation
            PathNomExport = Left(MemPath, Len(MemPath) - 4) & "(" & n & ")" & ".msg"
            n = n + 1
     
        Wend
        objCurrentMessage.SaveAs PathNomExport, OlSaveAsType.olMSG
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    a ce que je lis ca et la, il n'y aurait pas pas de moyen de selectionner un mail par le VBA.

    La seule chose que j'ai sous la main est l'affichage du premier mail du lot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub piou()
    Dim LesMails As Outlook.Selection
    Set LesMails = Application.ActiveExplorer.Selection
    Dim LeMail As Outlook.MailItem
    Set LeMail = LesMails.Item(1)
    LeMail.Display
    End Sub
    qu'on peut ecrire directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveExplorer.Selection.Item(1).Display
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    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 à l'essai
    Homme Profil pro
    Ing
    Inscrit en
    Juin 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ing

    Informations forums :
    Inscription : Juin 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    merci pour la réponse mais ca me m'arrange pas vraiment désolé.

    En faites je traite beaucoup de mail donc j'aimerais revenir juste là ou j'étais, c'est surtout que je traite tout au clavier avec des raccourcis et reselectionner la souris me ralentis


    J'ai une idée qui me vient, est ce qu'on sait sélectionner un mail avec son ID unique (entryID) ?
    Si oui ca serait d'enregistrer le dernier mail traité.


    Sinon mais je n'ai pas réussit à l'écrire, c'est de simuler un click gauche souris (meme si ce n'est pas très conventionnel, c'est ce que je réalise moi même)

  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
    A la fin de la macro, la selection active des mails n'est plus, il faut que je reclick gauche avec la souris pour pouvoir reselectionner un autre mail
    Bonjour,
    Ca veut dire quoi la "Selection active des mails" ?

    Vu ton code à la fin sont sélectionnés les Emails que tu avais sélectionné pour lancer cettte macro.

    Tu voudrais quoi au juste qu'uncun Email ne soit selectionné ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ing
    Inscrit en
    Juin 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ing

    Informations forums :
    Inscription : Juin 2016
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Bonjour, par ton commentaire, j'ai compris d'ou venait le souci.

    Je n'ai pas réussi à trouver comment faire un raccourci clavier pour lancer la macro. Du coup, je le lance en faisant Alt+V M (je le faisais avec un logiciel qui me fait des raccourcis clavier)

    En faisant le Alt, on perd la sélection.


    Du coup, j'ai contourné j'ai trouvé un moyen de mettre la macro dans la barre de raccourci en haut et je lance un click souris dessus ca marche meme si ce n'est pas orthodoxe ....


    merci pour l'aide, désolé du dérangement

Discussions similaires

  1. Réactiver les services après une erreur de manipulation
    Par peter27x dans le forum Windows XP
    Réponses: 5
    Dernier message: 06/12/2007, 10h42
  2. Réponses: 1
    Dernier message: 19/11/2007, 17h31
  3. Ouvrir nouvelle fenêtre Outlook après click sur bouton
    Par n@n¤u dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/06/2006, 17h23
  4. Réactiver une procedure après désactivation
    Par nou366 dans le forum Delphi
    Réponses: 3
    Dernier message: 29/05/2006, 13h54
  5. Tester si fenêtre existe après submit
    Par ronald dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/01/2005, 16h36

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