Comment créer une zone de Word Combo comportant plus de 25 éléments à partir d'une base de données Microsoft Access

Traductions disponibles Traductions disponibles
Numéro d'article: 253542 - Voir les produits auxquels s'applique cet article
Pour une Microsoft Word 97 version de cet article, reportez-vous 253552.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique comment créer et utiliser une zone de liste déroulante UserForm comme macro entrée pour un champ de formulaire texte pour afficher les informations à partir d'une base de données Microsoft Access. Cette macro peut être utilisée comme solution de contournement pour la limitation de 25 éléments dans les champs de formulaire vers le bas.

Pour plus d'informations sur la procédure à suivre lorsque vous n'utilisez pas une base de données Microsoft Access, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la base de connaissances Microsoft :
198561Comment créer une zone de liste modifiable contenant plus de 25 éléments
306258Comment créer une zone de liste modifiable contenant plus de 25 éléments dans Word 2002

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande 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 aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
212536L'exécution des exemples de code à partir d'articles de la base de connaissances dans Office 2000
Dans votre modèle, procédez comme suit.

Remarque : pour fermer une fenêtre (par exemple, une fenêtre de code ou de la fenêtre Propriétés), cliquez sur le X dans le coin supérieur droit de la fenêtre.

Création de la zone de liste déroulante UserForm

  1. Dans Microsoft Office Word 2003 et version antérieure, pointez sur macro dans le menu Outils et cliquez sur Visual Basic Editor.

    Dans Word 2007, cliquez sur l'onglet développeur, puis cliquez sur Visual Basic Editor
  2. Dans la fenêtre projet, sélectionnez votre TemplateProject.

    Remarque : si la fenêtre projet n'apparaît pas, cliquez sur Explorateur de projets dans le menu affichage.
  3. Dans le menu Insertion, cliquez sur UserForm. Un nouvel objet UserForm et la Boîte à outils Contrôles doivent apparaître. Cliquez avec le bouton droit dans formulaire utilisateur, puis cliquez sur Afficher le code dans le menu contextuel. Ajoutez le code suivant à l'événement Initialize :
    Option Explicit
    'Define Variables
    
    Private Sub UserForm_Initialize()
    
    Dim dbDatabase As Database
    Dim rsNorthwind As Recordset
    Dim i As Integer
    Dim aResults()
    
    ' This code activates the Database connection. Change 
    ' the path to reflect your database.
    Set dbDatabase = OpenDatabase("C:\My Documents\NorthWind.mdb")
    
    ' This code opens the Customers table.  Change the Table 
    ' to reflect the desired table.
    Set rsNorthwind = dbDatabase.OpenRecordset("Customers", dbOpenSnapshot)
     
    i = 0
     
       With rsNorthwind
       ' This code populates the combo box with the values 
       ' in the CompanyName field.
       
          Do Until .EOF
             ComboBox1.AddItem (i)
             ComboBox1.Column(0, i) = .Fields("CompanyName")
             .MoveNext
             i = i + 1
          Loop
    
       End With
    End Sub
    					
  4. Dans le menu Outils, cliquez sur références.
  5. Cliquez sur bibliothèque d'objets Microsoft DAO 3.6.
  6. Cliquez sur OK pour fermer la boîte de dialogue références.
  7. Fermez la fenêtre de code.
  8. Cliquez avec le bouton droit sur UserForm, puis cliquez sur Propriétés dans le menu contextuel. Dans l'onglet alphabétique, renommez (nom) en frmcombo et puis renommez la légende dans Microsoft Word. Fermez la fenêtre Propriétés de UserForm.
  9. Sous l'onglet contrôles de la boîte à outils, sélectionnez la zone de liste modifiable et placez-le sur votre UserForm. Cliquez avec le bouton droit sur le contrôle de zone de liste déroulante, puis cliquez sur Afficher le code dans le menu contextuel. Modifiez le code de ComboBox en :
    Private Sub ComboBox1_Change()
       ActiveDocument.FormFields("Text1").Result = ComboBox1.Value
    End Sub
    Remarque : Text1 est le nom de signet du champ de formulaire texte que vous insérez dans votre modèle de procédure de l'étape 2 de "Create the Text Form Field" de cet article.
  10. Fermez la fenêtre de code.
  11. Sous l'onglet contrôles de la boîte à outils, sélectionnez bouton de commande et placez-le sur votre formulaire utilisateur en tant que bouton Fermer. Cliquez avec le bouton droit sur bouton de commande, puis cliquez sur Afficher le code dans le menu contextuel. Modifiez le code de CommandButton en :
    Private Sub Cmdclose_Click()
       End
    End Sub
    					
  12. Fermez la fenêtre de code.
  13. Cliquez avec le bouton droit sur bouton de commande, puis cliquez sur Propriétés dans le menu contextuel. Dans l'onglet alphabétique, renommez (nom) en Cmdclose et puis renommez la légende à Fermer. Fermez la fenêtre Propriétés de CommandButton.
La zone de liste déroulante UserForm est maintenant terminée. Passez à la procédure "Création de la macro saisie".

Créer la macro d'entrée

  1. Dans la fenêtre projet, sélectionnez votre TemplateProject.
  2. Dans le menu Insertion, cliquez sur module. Une feuille de code de module vide s'affiche.
  3. Type dans le code suivant :
    Sub gocombobox()
       frmcombo.Show
    End Sub
    					
La macro d'entrée est maintenant terminée. Dans le menu fichier, cliquez sur Fermer et retourner à Microsoft Word.

Créer le champ texte

  1. Dans votre modèle, dans le menu affichage, pointez sur barres d'outils et cliquez sur formulaires.
  2. Placez votre point d'insertion à l'endroit où vous souhaitez que le résultat de la liste déroulante inséré. Dans la barre d'outils, cliquez sur Champ texte (le premier bouton sur la gauche). Le Champ texte est inséré dans votre modèle en tant qu'ombrage gris.

    Remarque : Si vous voyez le { FORMTEXT } de champ, appuyez sur ALT + F9 pour désactiver les codes de champ.
  3. Cliquez avec le bouton droit sur le Champ texte, puis cliquez sur Propriétés dans le menu contextuel.
  4. Dans la boîte de dialogue Options de champ : texte, sous la section exécuter la macro, sélectionnez la macro gocombobox à partir de la Saisie : appelé zone de liste modifiable.

    Remarque : Assurez-vous que le nom du signet de votre champ texte est identique à celui spécifié dans la procédure de l'étape 9 de «Create the UserForm Combo Box» plus haut dans cet article.
  5. Dans la barre d'outils formulaires, cliquez sur Protection du formulaire.
  6. Enregistrez et fermez votre modèle.
Pour utiliser le modèle dans Word 2003 et version antérieure, cliquez sur Nouveau dans le menu fichier. Sélectionnez votre modèle, puis cliquez sur OK.

Pour utiliser le modèle dans Word 2007, cliquez sur le Bouton Microsoft Office, cliquez sur Nouveau, sélectionnez votre modèle et cliquez sur créer.

Un nouveau document basé sur votre modèle s'affiche. L'objet UserForm contenant la zone de liste déroulante avec vos éléments apparaît lorsque vous utilisez la touche TAB pour déplacer dans le champ de formulaire texte.

Propriétés

Numéro d'article: 253542 - Dernière mise à jour: mercredi 14 mars 2007 - Version: 4.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
Mots-clés : 
kbmt kbhowto kbprogramming KB253542 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 253542
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.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com