Passer au contenu principal

Comment créer une liste déroulante pour les sujets dans Outlook ?

Vous pouvez avoir différents sujets d'e-mail prédéfinis qui doivent être distribués à différents destinataires dans Outlook. Il serait très efficace d'avoir une liste déroulante de ligne d'objet pour sélectionner un sujet sans le saisir manuellement lors de la rédaction d'un e-mail. Tout comme le gif démontré ci-dessous. Ce didacticiel fournit trois codes VBA pour vous aider à créer une liste déroulante avec différents sujets prédéfinis. Lors de la rédaction d'un e-mail, vous pouvez sélectionner l'objet dont vous avez besoin dans la liste déroulante pour remplir automatiquement la ligne d'objet. Veuillez suivre le guide étape par étape pour le faire.


Créer une liste déroulante pour les sujets dans Outlook avec le code VBA

En fait, Outlook ne permet pas d'ajouter une liste déroulante dans la ligne d'objet. Ici, vous devez créer un formulaire utilisateur et le combiner avec des codes VBA pour le compléter.

1. Lancez votre Outlook, appuyez sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Formulaire utilisateur.

3. Puis le FormulaireUtilisateur1 est inséré sous Project1 dans le volet de gauche du Visual Basic éditeur. Vous devez ajouter une zone de liste déroulante et un bouton de commande à ce formulaire utilisateur en faisant glisser le Boîte combo et Bouton de commande respectivement de la Boîte à outils à la FormulaireUtilisateur1.

4. Cliquez avec le bouton droit sur le bouton de commande et sélectionnez biens dans le menu contextuel.

5. dans le Propriétés - CommandButton1 volet, changez le Légende champ à OK. Cette action modifiera le texte affiché sur le bouton de commande.

6. Double-cliquez sur la zone vide de l'UserForm pour ouvrir le formulaire correspondant. Formulaire utilisateur (Code) fenêtre, puis remplacez le code existant par le code VBA suivant.

Code VBA 1 : UserForm avec une liste déroulante comprenant plusieurs sujets d'e-mail prédéfinis

Private Sub UserForm_Initialize()
'Updated by Extendoffice 20220927
  With ComboBox1
    .AddItem "Subject 1"
    .AddItem "Subject 2"
    .AddItem "Subject 3"
    .AddItem "Subject 4"
    .AddItem "Subject 5"
    .AddItem "No change"
  End With
End Sub

Private Sub CommandButton1_Click()
  GCbbIndex = ComboBox1.ListIndex
  GSelSubject = ComboBox1.Value
  Unload Me
End Sub

Notes: Dans le code, le Sujet 1, 2, 3, 4 et 5 sont les sujets d'e-mail prédéfinis que vous souhaitez utiliser dans vos e-mails. "Aucun changement” signifie ne rien changer à l'objet de l'e-mail existant. Vous pouvez modifier les sujets d'e-mail prédéfinis dans le code VBA en fonction de vos besoins.

7. Double-cliquez Project1 > Objets Microsoft Outlook > Cette session Outlook. Copiez ensuite le code VBA suivant dans la fenêtre ThisOutlookSession (Code).

Code VBA 2 utilisé dans la fenêtre ThisOutlookSession

Public WithEvents GExplorer As Explorer
'Updated by Extendoffice 20220927
Private Sub Application_Startup()
  Set GExplorer = Application.ActiveExplorer
End Sub

Private Sub GExplorer_InlineResponse(ByVal Item As Object)
  Set GInlineMail = Item
End Sub

8. Continuez à cliquer insérer > Module dans l' Visual Basic éditeur. Ensuite, copiez et collez le code VBA suivant dans le Module (Code) fenêtre.

Code VBA 3 utilisé dans la fenêtre Module

Public GCbbIndex As Long
'Updated by Extendoffice 20220927
Public GSelSubject As String
Public GInlineMail As MailItem
Public Sub ChangeSubject()
  Dim xItem As MailItem
  Dim xMail As Outlook.MailItem
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set xMail = GInlineMail
      Debug.Print "Explorer"
    Case "Inspector"
      Set xMail = Application.ActiveInspector.CurrentItem
      Debug.Print "Inspector"
  End Select
  UserForm1.Show
  If (GCbbIndex <> -1) And (GSelSubject <> "no change") Then
    xMail.Subject = GSelSubject
  End If
End Sub

9. Enregistrez les codes et appuyez sur la autre + Q touches pour fermer le Éditeur Visual Basic fenêtre et revenir à l'application Outlook.

10. Cliquez sur l' Nouveau Email bouton sous Accueil onglet pour créer un e-mail.

11. Dans la nouvelle fenêtre de message, cliquez sur Personnaliser la barre d'outils Accès rapide > Plus de commandes.

12. dans le Options d'Outlook boîte de dialogue, vous devez configurer comme suit.

12.1) Sélectionnez Macros dans l' Choisissez les commandes de la liste déroulante;
12.2) Sélectionnez Projet1.ChangeSubject dans la zone de liste des commandes;
12.3) Cliquez sur le Ajouter bouton;
12.4) Cliquez sur le OK bouton. Voir la capture d'écran:

13. Ensuite, vous pouvez voir qu'un bouton a été ajouté au ruban de la fenêtre de message.

14. Vous devez maintenant redémarrer votre Outlook.

15. Lors de la rédaction d'un message électronique, si vous devez insérer un sujet prédéfini, il vous suffit de cliquer sur le bouton nouvellement ajouté sur le ruban pour afficher le formulaire utilisateur, sélectionnez un sujet dans le menu déroulant, puis cliquez sur le OK bouton pour le remplir dans la ligne d'objet.

Notes:

1) Vous pouvez changer le sujet existant avec n'importe quel sujet sélectionné dans la liste déroulante ;
2) Cette méthode fonctionne bien lorsque vous répondez ou transférez un e-mail dans une nouvelle fenêtre ;
3) Si vous avez tendance à répondre aux e-mails en ligne à partir du volet de lecture plutôt que d'ouvrir une fenêtre séparée, vous pouvez afficher le formulaire utilisateur comme suit.
3.1) Cliquez sur Développeur > Macros > Projet1.ChangeSubject. Voir la capture d'écran:

3.2) Lorsque le formulaire utilisateur apparaît, sélectionnez un sujet prédéfini dans la liste déroulante et cliquez sur le OK , le sujet d'origine sera changé immédiatement.

4) Si vous sélectionnez Aucun changement dans le menu déroulant, le sujet d'origine sera conservé sans aucun changement.

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 (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Would it be possible to create an external source for:
.AddItem "Subject 1"
.AddItem "Subject 2"
.AddItem "Subject 3"
.AddItem "Subject 4"
.AddItem "Subject 5"

So the list can be shared and edited for multiple computers?
This comment was minimized by the moderator on the site
Hi,

I have made the procedure but when i clic on the macro button, they don't have any action ?
Could you help me ?
This comment was minimized by the moderator on the site
Hi,

Sorry for the inconvenience. Did you follow the instructions provided in the post exactly? Can you tell me which version of Excel you are using?
This comment was minimized by the moderator on the site
I would like to creat an E-mail draft with such a drop down list for the subject.
Is it possible to attache this function to an mail template or does it have to be installed in the software of each user?
This comment was minimized by the moderator on the site
Hi Hana,

The code can't be attached to an email template, users who need to use this dropdown list will need to follow the steps in the tutorial to add the code to their Outlook.
This comment was minimized by the moderator on the site
Hi,

This is great. Is it possible to do the same for Outlook Calendar invites...meetings and appointments?
This comment was minimized by the moderator on the site
Hi James Marr,

This method does not support Outlook Calendar at the moment. Sorry for the inconvenience.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations