Passer au contenu principal

Comment développer automatiquement tous les dossiers lors du démarrage d'Outlook?

Auteur : Kelly Dernière modification: 2023-12-12

En règle générale, lorsque vous développez ou réduisez un dossier dans le volet de navigation d'Outlook, puis fermez le programme, le dossier conserve son état développé ou réduit à la réouverture d'Outlook. Cependant, que se passe-t-il si vous souhaitez que tous les dossiers soient automatiquement développés à chaque démarrage d'Outlook ? Cet article fournit une solution VBA pour y parvenir.

Développez automatiquement tous les dossiers lors du démarrage d'Outlook à l'aide de VBA

Onglet Office - Activez l'édition et la navigation par onglets dans Microsoft Office, ce qui facilite le travail
Kutools for Outlook - Boostez Outlook avec plus de 100 fonctionnalités avancées pour une efficacité supérieure
Boostez votre Outlook 2021 - 2010 ou Outlook 365 avec ces fonctionnalités avancées. Profitez d'un essai gratuit complet de 60 jours et améliorez votre expérience de messagerie !

flèche bleue bulle droite Développez automatiquement tous les dossiers lors du démarrage d'Outlook à l'aide de VBA

Ce guide montrera comment utiliser un script VBA pour développer automatiquement tous les dossiers du volet de navigation à chaque fois que vous lancez Outlook. Suivez ces étapes pour implémenter le script VBA :

  1. Presse Alt + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
  2. Élargir la projet 1 ainsi que Objets Microsoft Outlook dans l' Projet volet, double-cliquez pour ouvrir le Cette session Outlook fenêtre, puis collez-y le code VBA ci-dessous.

    VBA: développer automatiquement tous les dossiers dans Outlook

    Public WithEvents GEx As Explorer
    Public GFlag As Boolean
    Private Sub Application_Startup()
      'Update by ExtendOffice 2023/12/08
      Set GEx = Application.ActiveExplorer
      GFlag = False
    End Sub
    
    Private Sub GEx_SelectionChange()
      If GFlag = False Then
        ExpandAllFolders
      End If
      GFlag = True
    End Sub
    
    Public Sub ExpandAllFolders()
      Dim xNameSpace As Outlook.NameSpace
      Dim xFlds As Outlook.Folders
      Dim xCurrFld As Outlook.MAPIFolder
      Dim xFld As Outlook.MAPIFolder
      Dim xExpandDefaultStoreOnly As Boolean
      Dim xModule As NavigationModule
      On Error Resume Next
      xExpandDefaultStoreOnly = False
      Set xNameSpace = Application.Session
      Set xModule = Application.ActiveExplorer.NavigationPane.CurrentModule
      Set xCurrFld = Application.ActiveExplorer.CurrentFolder
      If xExpandDefaultStoreOnly = True Then
        Set xFld = xNameSpace.GetDefaultFolder(olFolderInbox)
        Set xFld = xFld.Parent
        Set xFlds = xFld.Folders
        LoopFolders xFlds, True
      Else
        LoopFolders xNameSpace.Folders, True
        LoopFolders xNameSpace.Folders, False
      End If
      DoEvents
      Set Application.ActiveExplorer.NavigationPane.CurrentModule = xModule
      Set Application.ActiveExplorer.CurrentFolder = xCurrFld
      Set xNameSpace = Nothing
      Set xModule = Nothing
      Set xCurrFld = Nothing
    End Sub
    
    Private Sub LoopFolders(Flds As Outlook.Folders, ByVal All As Boolean)
      Dim xFld As Outlook.MAPIFolder
      On Error Resume Next
      For Each xFld In Flds
        Select Case All
          Case True
            If xFld.DefaultItemType = olMailItem Then
              Set Application.ActiveExplorer.CurrentFolder = xFld
              DoEvents
              If xFld.Folders.Count > 0 Then
                LoopFolders xFld.Folders, All
              End If
            End If
          Case False
            Set Application.ActiveExplorer.CurrentFolder = xFld
            DoEvents
            If xFld.Folders.Count > 0 Then
              LoopFolders xFld.Folders, All
            End If
        End Select
      Next
    End Sub
  3. Enregistrez le code et fermez le Microsoft Visual Basic pour applications fenêtre.

À partir de maintenant, lors du redémarrage d'Outlook, tous les dossiers seront automatiquement développés dans Outlook.

Notes:

  • Ce VBA ne peut pas ouvrir les dossiers de recherche réduits lors du redémarrage d'Outlook.
  • Pour garantir le bon fonctionnement du script VBA, il est essentiel d'ajuster vos paramètres de macro dans Outlook. S'il vous plaît allez à Déposez votre dernière attestation > Options > Trust Center > Paramètres du Centre > Paramètres de macroet sélectionnez le Activer toutes les macros option. Ce paramètre permet au script VBA de s'exécuter sans aucune restriction.

flèche bleue bulle droite Articles Relatifs


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Just tried this on Microsoft® Outlook® for Microsoft 365 MSO (Version 2310 Build 16.0.16924.20054) 64-bit and it was unsuccessful
This comment was minimized by the moderator on the site
Hi there,

Please go to File > Options > Trust Center > Trust Center Settings > Macro Settings. And select the Enable all macros option. After making this change, restart Outlook, the macro should then be operational.
This comment was minimized by the moderator on the site
Hi guys,

does this code also work for Microsoft outlook 365?
I have tried and tried again, but I get no results.
Thanks.
This comment was minimized by the moderator on the site
I couldn't get this macro to work either.
This comment was minimized by the moderator on the site
Hi there,
We've updated the code, please try it again. 🙂
Amanda
This comment was minimized by the moderator on the site
I cannot get this macro to work at all.  All folders in the Folder pane are not expanded at all.  I am using Outlook 2021.  Is there some instruction I missed?
This comment was minimized by the moderator on the site
Hi there,
We've updated the code, please try it again. 🙂
Amanda
This comment was minimized by the moderator on the site
Thank you so much.. It solved my problem. :)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations