Utilisation de champs avec des contrôles
Lorsque vous déplacez un champ depuis le Sélecteur de champs, il est automatiquement lié au contrôle approprié. À moins que vous n’ayez une raison particulière d’utiliser un contrôle standard de la Boîte à outils Contrôles, optez pour le Sélecteur de champs pour donner accès aux champs de vos formulaires.
Lorsque vous placez un contrôle de la Boîte à outils Contrôles dans un formulaire, vous devez le lier à un formulaire si vous souhaitez enregistrer une valeur dans un contrôle ou à partir de celui-ci. Dans la plupart des cas, les contrôles check box, combo box, date, list box, option button et text box sont liés à des champs. Les autres contrôles, tels que Image, qui contiennent des informations statiques avec lesquelles l'utilisateur n'interagit pas, ne sont généralement pas liés à un champ.
Pour lier un contrôle à un champ, cliquez dessus avec le bouton droit, puis cliquez sur Propriétés dans le menu contextuel. Cliquez sur l’onglet Valeur . Cliquez sur Choisir un champ, puis sur un champ ou cliquez sur Nouveau pour créer un champ personnalisé. Les champs Outlook reposent sur des propriétés MAPI. De cette manière, les valeurs des champs sont stockées avec l’élément lorsque vous l’enregistrez ou l’envoyez. Les contrôles de la Boîte à outils Contrôles ne sont que les conteneurs visuels d’un champ dans un formulaire. Vous pouvez définir l’apparence du contrôle à l’aide de ses propriétés, mais vous ne pouvez pas enregistrer de valeur. Les contrôles n’existent que lorsque le formulaire particulier qui les contient s’affiche. Des champs peuvent être utilisés dans n’importe quel formulaire. Si vous modifiez la valeur d’un champ à un endroit, elle est modifiée à chaque emplacement où il est utilisé.
Par exemple, pour modifier la valeur d'un champ personnalisé appelé Télécopie, utilisez le code suivant :
Item.UserProperties.Find("Fax").Value = "555-1234"
Notez qu’étant donné qu’il s’agit d’un champ, vous n’avez pas besoin de spécifier la page ou le contrôle auquel le champ est lié. Dans l'exemple de code suivant, un contrôle appelé txtFax est rendu invisible. Pour utiliser un contrôle, vous devez spécifier la page et le nom du contrôle.
Item.GetInspector.ModifiedFormPages("General").Controls("txtFax").Visible = False
Vous pouvez lier un contrôle à un champ au moment de l'exécution en utilisant la propriété interne appelée ItemProperty. L'exemple suivant lie un contrôle TextBox à un champ appelé Adresse (Bureau).
Item.GetInspector.SetControlItemProperty("Textbox1", "Business Address")
Note Si vous créez un contrôle en faisant glisser un champ de texte brut vers un formulaire, vous ne pouvez pas lier le contrôle à un champ d’un autre type. Par exemple, vous ne pouvez pas faire glisser un champ Objet vers un formulaire, puis le lier à un champ contenant un type Courrier électronique (tel que le champ À).
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.