Numéro d'article: 290803 - Dernière mise à jour: jeudi 23 novembre 2006 - Version: 2.1

OL2002 : Comment faire pour ouvrir un formulaire à partir d'un bouton de la barre d'outils

Ancien nº de publication de cet article : F290803
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).

Sommaire

Agrandir tout | Réduire tout

Résumé

Cet article explique comment faire pour utiliser Outlook VBA (Visual Basic pour Applications) pour ouvrir directement un formulaire Outlook personnalisé à partir de la barre d'outils Outlook.

REMARQUE : vous ne pouvez pas utiliser le code contenu dans cet article pour ouvrir des formulaires créés à l'aide de l'outil de création de formulaires Microsoft Exchange ou d'autres formulaires MAPI créés à l'aide de C++. La méthode Items.Add du modèle d'objet Outlook fonctionne uniquement avec les formulaires Outlook.

Plus d'informations

Vous pouvez créer une macro Visual Basic pour Applications qui ouvre un formulaire personnalisé. Vous pouvez ensuite assigner cette macro à un bouton de la barre d'outils ou à un menu qui permettra d'ouvrir facilement le formulaire.

Pour créer un formulaire personnalisé

Si vous avez déjà un formulaire personnalisé stocké dans votre boîte de réception et si vous connaissez la classe de message du formulaire, vous pouvez passer directement à la section suivante.
  1. Dans la Liste des dossiers, cliquez sur Boîte de réception.
  2. Dans le menu Outils, pointez sur Formulaires, puis cliquez sur Créer un formulaire.
  3. Cliquez sur Message, puis sur Ouvrir.
  4. Cliquez sur la page (P.2) du formulaire.
  5. Si les Boîtes de commandes ne sont pas visibles, dans le menu Formulaires, cliquez sur Boîtes de commandes.
  6. Sélectionnez un contrôle à partir des Boîtes de commmandes, puis faites-le glisser vers le formulaire.
  7. Dans le menu Outils, pointez sur Formulaires, puis cliquez sur Publier le formulaire.
  8. Dans la liste Rechercher dans, cliquez sur Boîte de réception.
  9. Tapez TestFormulaires comme nom complet, puis cliquez sur Publier. Notez que la classe de message est IPM.Note.MonFormulaire.
  10. Cliquez sur Oui pour activer la case à cocher Enregistrer la définition du formulaire avec l'élément.
  11. Fermez le formulaire sans l'enregistrer.

Pour créer le code Visual Basic pour Applications

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite, y compris, de manière non limitative, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Si vous ne maîtrisez que partiellement la programmation, vous pouvez contacter un partenaire certifié Microsoft (Microsoft Certified Partner) ou le service client Microsoft au 0825 827 829 qui pourra transmettre votre demande de consulting aux équipes Microsoft appropriées. Pour plus d'informations sur les partenaires certifiés Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)
Pour plus d'informations sur les options de support technique disponibles et la façon de contacter Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.microsoft.com/default.aspx?scid=fh;FR;ASSISTEDOVER (http://support.microsoft.com/default.aspx?scid=fh;fr;assistedover)
Pour créer le code permettant d'ouvrir le formulaire, procédez comme suit :
  1. Dans le menu Outils, pointez sur Macro, puis cliquez sur Visual Basic Editor.
  2. Dans le volet Projet - Projet1, double-cliquez sur Projet1, puis double-cliquez sur Objets Microsoft Outlook.
  3. Double-cliquez sur ThisOutlookSession (CetteSessionOutlook) pour ouvrir une fenêtre de code.
  4. Dans la fenêtre de code, entrez le code suivant :
    Sub DisplayForm()
       Set myFolder = Session.GetDefaultFolder(olFolderInbox)
       Set myItem = myFolder.Items.Add("IPM.Note.MyForm")
       myItem.Display
    End Sub
    					
    Ce code suppose que le nom de votre formulaire est MonFormulaire. N'oubliez pas de modifier la troisième ligne de code si la classe de message de votre formulaire est différente.

  5. Dans le menu Fichier, cliquez sur Enregistrer VBAProject.OTM.
  6. Fermez Visual Basic Editor.

Pour créer le bouton de barre d'outils

  1. Dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Personnaliser.
  2. Sous l'onglet Commandes, cliquez sur Macros dans la liste Catégories. La macro est répertoriée sous le nom Projet1.ThisOutlookSession.DisplayForm.
  3. Faites glisser le nom de la macro vers une barre d'outils.
  4. Le bouton de barre d'outils étant sélectionné, cliquez sur Modifier la sélection afin de modifier l'apparence du bouton à votre convenance.
  5. Cliquez sur Fermer.

Pour modifier le code

Ce code peut être utilisé avec n'importe quel formulaire de message électronique, qu'il soit publié dans la Bibliothèque des formulaires personnels, dans la Bibliothèque de formulaires de l'organisation ou dans le dossier Boîte de réception. Toutefois, d'autres types de formulaires sont généralement publiés dans un dossier et les éléments résultants sont enregistrés dans ce dossier. C'est généralement le cas si vous créez un formulaire de contact personnalisé, par exemple.

Vous devrez peut-être modifier le code afin que le formulaire personnalisé puisse être trouvé dans un dossier spécifique (celui où il a été publié) et que l'élément soit enregistré dans le dossier approprié. La ligne de code suivante est particulièrement concernée :
Set myFolder = Session.GetDefaultFolder(olFolderInbox)
				
Cette ligne de code suppose que vous souhaitez utiliser le dossier Boîte de réception par défaut. Si vous préférez utiliser un autre dossier, remplacez olFolderInbox par l'une des constantes suivantes :
  • olFolderDeletedItems
  • olFolderOutBox
  • olFolderSentMail
  • olFolderCalendar
  • olFolderContacts
  • olFolderJournal
  • olFolderNotes
  • olFolderTasks
Le code suppose également que le dossier que vous souhaitez utiliser appartient au jeu de dossiers par défaut. Le jeu de dossiers par défaut est constitué des dossiers situés au même niveau que la Boîte de réception recevant le courrier entrant. Néanmoins, si vous souhaitez utiliser un formulaire personnalisé publié dans un autre dossier, vous devez modifier le code en conséquence.

Pour plus d'informations sur la façon de référencer d'autres dossiers dans Outlook, consultez la section « Référence à des dossiers existants » de l'article suivant dans la Base de connaissances Microsoft.
290804  (http://support.microsoft.com/kb/290804/ ) OL2002 : Exemples de programmation pour référencer les éléments et les dossiers

Exemples pour l'ouverture d'autres formulaires

Pour ouvrir un élément contact par défaut, modifiez le code comme suit :
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olContactFolder)
   Set myItem = myFolder.Items.Add("IPM.Contact")
   myItem.Display
End Sub
				
Pour ouvrir un formulaire personnalisé avec une classe de message IPM.Note.Test publié dans le dossier Test situé dans le dossier Boîte de réception par défaut, modifiez le code pour obtenir :
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olFolderInbox).Folders("Test")
   Set myItem = myFolder.Items.Add("IPM.Note.Test")
   myItem.Display
End Sub
				
Pour ouvrir un formulaire personnalisé avec une classe de message IPM.Appointment.Test publié dans la Bibliothèque des formulaires personnels ou la Bibliothèque de formulaires de l'organisation, modifiez le code comme suit :
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olFolderCalendar)
   Set myItem = myFolder.Items.Add("IPM.Appointment.Test")
   myItem.Display
End Sub
				
Pour ouvrir un formulaire personnalisé dans un dossier public Microsoft Exchange intitulé Mon dossier public, situé au sommet de la hiérarchie des dossiers publics, utilisez le code suivant :
Sub DisplayForm()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("My Public Folder")
   Set myItem = myFolder3.Items.Add("IPM.Appointment.Test")
   myItem.Display
End Sub
				

Pour ouvrir la boîte de dialogue Choisir des formulaires

Au lieu de créer un code Visual Basic pour Applications permettant d'ouvrir un formulaire, vous pouvez ouvrir la boîte de dialogue Choisir des formulaires à partir d'un bouton de barre d'outils. Pour y parvenir, sans avoir recours à la programmation, procédez comme suit :
  1. Dans le menu Affichage, pointez sur Barres d'outils, puis cliquez sur Personnaliser.
  2. Sous l'onglet Commandes, cliquez sur Fichier dans la liste Catégories.
  3. Dans la liste de Commandes, faites glisser Formulaire... vers une barre d'outils.
  4. Cliquez sur Fermer.

Références

Pour plus d'informations sur les ressources disponibles et les réponses aux questions les plus fréquemment posées sur les solutions Microsoft Outlook, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
287530  (http://support.microsoft.com/kb/287530/ ) OL2002 : Questions sur les formulaires personnalisés et les solutions Microsoft Outlook

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Outlook 2002 Standard
Mots-clés : 
kbhowto KB290803
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
 

Traductions disponibles

 

Related Support Centers