Quand vous entrez des données sur un formulaire dans des bases de données Access, il est bien plus rapide et facile de sélectionner une valeur dans une liste plutôt que de se souvenir d’une valeur à entrer. Une liste de choix permet également de garantir que la valeur entrée dans un champ est pertinente. Un contrôle de liste peut se connecter à des données existantes ou afficher des valeurs fixes que vous renseignez lors de la création du contrôle. Lisez cet article pour en savoir plus sur les contrôles de liste disponibles pour les formulaires Access, et comment les créer et les personnaliser.
Que voulez-vous faire ?
-
Présentation des différents types de contrôles de zone de liste
-
Création d’une zone de liste ou d’une zone de liste déroulante en utilisant l’Assistant
-
Création d’une zone de liste ou d’une zone de liste déroulante sans utiliser l’Assistant
-
Personnalisation d’une zone de liste ou d’une zone de liste déroulante
Présentation des différents types de contrôles de zone de liste
Access propose deux types de contrôles de liste pour les formulaires : les zones de liste et les zones de liste déroulante.
Zone de liste Une zone de liste affiche une liste de valeurs ou de choix. Elle contient des lignes de données et est généralement dimensionnée de manière à rendre plusieurs lignes visibles à tout instant. Les lignes peuvent être divisées en colonnes, lesquelles peuvent apparaître avec ou sans en-tête. Si la liste possède davantage de lignes que ne peut en afficher le contrôle, Access affiche une barre de défilement dans ce dernier. L’utilisateur est limité aux choix proposés dans la zone de liste et ne peut pas entrer de valeur dans cette dernière.
Zone de liste déroulante Une zone de liste déroulante offre une méthode plus compacte pour présenter une liste de choix, car la liste est masquée jusqu’à ce que vous cliquiez sur la flèche de déroulement. Ce type de contrôle vous donne également la possibilité d’entrer une valeur qui ne figure pas dans la liste. Ainsi, la zone de liste déroulante combine les fonctionnalités d’une zone de texte et celles d’une zone de liste.
1. Cliquez sur la flèche pour afficher la liste déroulante.
2. Choisissez une option dans la liste déroulante.
Les zones de liste et les zones de liste déroulante peuvent être des contrôles dépendants ou indépendants. Ces contrôles peuvent rechercher des valeurs figurant dans une liste fixe que vous renseignez vous-même, ou rechercher des valeurs dans une table ou une requête. Pour créer une zone de liste ou une zone de liste déroulante dépendante qui recherche des valeurs dans une table ou une requête, veillez à ce que le formulaire ait pour base une source d’enregistrement qui inclue un champ de clé étrangère ou un champ Liste de choix. Ainsi, vous pouvez créer les relations dont vous avez besoin pour associer les données figurant dans la zone de liste ou dans la zone de liste déroulante aux données du formulaire.
Création d’une zone de liste ou d’une zone de liste déroulante en utilisant l’Assistant
-
Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire, puis cliquez sur Mode Création.
Remarque : Cette procédure part du principe que le formulaire dépend d’une table ou d’une requête. Dans le cas contraire, certaines étapes ne s’appliquent pas. Pour déterminer si le formulaire dépend d’une table ou d’une requête, appuyez sur F4 pour afficher la feuille de propriétés. Sous l’onglet Données de cette dernière, la zone de propriété Source d’enregistrement affiche la table ou la requête dont dépend le formulaire.
-
Sous l’onglet Création de formulaire , dans le groupe Contrôles , vérifiez que l’option Utiliser les Assistants Contrôle est sélectionnée.
-
Cliquez sur l’outil de zone de liste ou sur l’outil de zone de liste déroulante.
-
Sur le formulaire, cliquez sur l’emplacement où vous souhaitez placer la zone de liste ou la zone de liste déroulante.
-
En fonction de votre choix, l’Assistant Zone de liste ou l’Assistant Zone de liste déroulante démarre.
-
-
Quand l’Assistant vous invite à indiquer la manière dont vous souhaitez obtenir les valeurs du contrôle, choisissez l’une des options suivantes :
-
Si vous souhaitez afficher les données actuelles à partir d’une source d’enregistrement, cliquez sur Je veux que la liste déroulante extraie les valeurs d’une autre table ou requête.
-
Si vous souhaitez afficher une liste de valeurs fixe qui changeront rarement, cliquez sur Je taperai les valeurs souhaitées.
-
Si vous souhaitez que le contrôle effectue une opération de recherche plutôt qu’il serve en tant qu’outil d’entrée de données, cliquez sur Rechercher un enregistrement dans mon formulaire basé sur la valeur que j’ai sélectionnée dans la liste déroulante. Cette action a pour effet de créer un contrôle indépendant avec une macro incorporée qui réalise une opération de recherche sur la base de la valeur entrée par l’utilisateur.
-
-
Pour spécifier la manière dont les valeurs apparaissent, suivez les instructions.
-
Si vous avez choisi l’une des deux premières options dans la première page de l’Assistant, ce dernier vous invite à choisir le comportement d’Access lorsque vous sélectionnez une valeur. Effectuez l’une des opérations suivantes :
-
Pour créer un contrôle indépendant, cliquez sur Mémoriser la valeur pour une utilisation ultérieure. Cela signifie qu’Access conserve la valeur sélectionnée jusqu’à ce que l’utilisateur la modifie ou ferme le formulaire, mais qu’il n’écrit pas la valeur dans une table.
-
Pour créer un contrôle dépendant, cliquez sur Stocker la valeur dans ce champ, puis sélectionnez le champ auquel vous voulez lier le contrôle.
-
-
Cliquez sur Suivant et entrez une étiquette pour le contrôle. Cette étiquette sera affichée en regard du contrôle.
-
Cliquez sur Terminer.
Création d’une zone de liste ou d’une zone de liste déroulante via l’ajout d’un champ Liste de choix à un formulaire
Vous pouvez créer une zone de liste ou une zone de liste déroulante dépendante en ajoutant un champ Liste de choix à un formulaire.
-
Créez un champ Liste de choix dans la table. Ce champ peut contenir une ou plusieurs valeurs.
Pour plus d’informations sur la création de champs de recherche à valeurs multiples, consultez l’article Créer ou supprimer un champ à valeurs multiples.
-
Effectuez l’une des opérations suivantes :
-
Créez un formulaire basé sur une source d’enregistrement qui inclut le champ Liste de choix. Par exemple, dans le volet de navigation, sélectionnez une table ou une requête qui contient le champ Liste de choix, puis sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Formulaire.
Access crée automatiquement une zone de liste déroulante pour le champ Liste de choix.
-
Ajoutez une zone de liste ou une zone de liste déroulante à un formulaire :
-
En mode Création, ouvrez un formulaire basé sur une source d’enregistrement qui inclut le champ Liste de choix.
-
Si le volet Liste de champs ne s’affiche pas, appuyez sur Alt+F8 pour l’afficher.
-
Double-cliquez sur le champ Liste de choix, ou faites glisser ce dernier à partir du volet Liste de champs vers le formulaire. Access crée automatiquement une zone de liste déroulante liée au champ.
Conseil : Pour transformer une zone de liste déroulante en zone de liste (ou vice-versa), cliquez avec le bouton droit sur le contrôle, cliquez sur Remplacer par dans le menu contextuel, puis choisissez le type de contrôle souhaité.
-
-
Création d’une zone de liste ou d’une zone de liste déroulante sans utiliser l’Assistant
Quand vous créez une zone de liste ou une zone de liste déroulante sans l’aide de l’Assistant, vous devez définir vous-même les propriétés du contrôle. Pour plus d’informations sur une propriété en particulier, cliquez sur la zone de propriété concernée et cliquez sur F1.
-
Ouvrez un formulaire en mode Création.
-
Sous l’onglet Création de formulaire , dans le groupe Contrôles , vérifiez que l’option Utiliser les Assistants Contrôle n’est pas sélectionnée.
-
Cliquez sur l’outil de zone de liste ou sur l’outil de zone de liste déroulante.
-
Cliquez une fois dans le formulaire pour créer un contrôle dimensionné automatiquement, ou cliquez et faites glisser jusqu’à obtenir la taille souhaitée.
-
Sélectionnez le contrôle et appuyez sur F4 pour ouvrir sa feuille de propriétés.
-
Définissez les propriétés Origine source et Contenu en vous aidant du tableau suivant.
Pour
Définissez la propriété Origine source sur
Définissez la propriété Contenu comme suit
Afficher des valeurs d’une table ou d’une requête, ou les résultats d’une instruction SQL
Table/Requête
Dans la liste déroulante, sélectionnez la table ou la requête contenant les valeurs que vous souhaitez voir apparaître dans la zone de liste ou dans la zone de liste déroulante.
–ou–
Tapez une instruction SQL.
–ou–
Sous l’onglet Données de la feuille de propriétés, cliquez sur pour ouvrir le Générateur de requêtes. Pour plus d’informations sur la génération d’une requête, voir l’article Créer une requête Sélection simple.
Afficher une liste de valeurs fixe
Liste valeurs
Tapez une liste fixe de valeurs séparées par un point-virgule (;). Par exemple, Nord;Sud;Est;Ouest
–ou–
Sous l’onglet Données de la feuille de propriétés, cliquez sur pour ouvrir la boîte de dialogue Modifier les éléments de liste , puis tapez les éléments sur des lignes distinctes.
Afficher une liste de champs à partir d’une table ou d’une requête
Liste des champs
Dans la liste déroulante, sélectionnez la table ou la requête contenant les noms des champs que vous souhaitez voir apparaître dans la zone de liste ou dans la zone de liste déroulante.
-
Si vous souhaitez que le contrôle ait plusieurs colonnes, cliquez sur la zone de propriété Nbre colonnes et tapez le nombre de colonnes souhaité. Par ailleurs, vous pouvez ajuster la largeur des colonnes en définissant la propriété Largeurs colonnes. Pour plus d’informations sur chaque propriété, placez le curseur dans la zone de propriété et appuyez sur F1.
-
Si vous souhaitez qu’Access stocke la valeur que vous sélectionnez, cliquez sur la zone de propriété Source contrôle et sélectionnez le champ auquel vous souhaitez lier la zone de liste ou la zone de liste déroulante.
Personnalisation d’une zone de liste ou d’une zone de liste déroulante
Ouvrez le formulaire en mode Création, assurez-vous que la zone de liste ou que la zone de liste déroulante est sélectionnée, puis appuyez sur F4 pour ouvrir la feuille de propriétés associée au contrôle. Effectuez ensuite l’une des opérations suivantes :
-
Modifier l’ordre de tri dans une zone de liste ou dans une zone de liste déroulante Si vous avez utilisé un Assistant pour créer la zone de liste ou la zone de liste déroulante, Access trie automatiquement les lignes qui forment la liste sur la base de la première colonne visible. Voici comment faire si vous voulez spécifier un ordre de tri différent, ou si vous avez défini la propriété Contenu du contrôle sur une requête enregistrée :
-
Cliquez sur l’onglet Données de la feuille de propriétés, puis cliquez sur la zone de propriété Contenu.
-
Sous l’onglet Données de la feuille de propriétés, cliquez sur pour ouvrir le Générateur de requêtes.
-
Dans la ligne Tri associée à la colonne à trier, spécifiez l’ordre de tri voulu.
-
-
Lier une colonne d’une zone de liste ou d’une zone de liste déroulante
Dans la zone de propriété Colonne liée de la zone de liste ou de la zone de liste déroulante, spécifiez un nombre correspondant à l’emplacement de la colonne dans la zone de liste ou dans la zone de liste déroulante. Par exemple, tapez 1 pour lier la première colonne de la zone de liste ou de la zone de liste déroulante au champ sous-jacent spécifié dans la propriété Source contrôle. Lorsque vous faites le compte des colonnes, n’oubliez pas d’inclure les colonnes masquées.
Si vous définissez la propriété Colonne liée sur 0, Access enregistre l’index de liste au lieu d’une valeur provenant de l’une des colonnes. Cette action est utile si vous voulez stocker une séquence de nombres au lieu de la valeur de liste.
-
Masquer une colonne d’une zone de liste ou d’une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété Largeurs colonnes, tapez 0 pour la ou les colonnes à masquer.
Par exemple, supposons que vous disposez d’une zone de liste modifiable liée à deux colonnes qui a une colonne SupplierID de 0,5 pouce de large et une colonne SupplierName de 2 pouces de large. La colonne SupplierID étant la première colonne de la liste, la propriété Column Widths est définie sur 0,5 » ; 2 pouces. Pour masquer la colonne SupplierID, définissez la propriété Largeurs de colonne sur 0 » ; 2 pouces. La colonne SupplierID peut toujours être la colonne liée, même si elle est masquée.
Remarque : Dans une zone de liste modifiable, la première colonne visible est affichée dans la zone de texte lorsque la liste n’est pas affichée. Par exemple, la colonne NomFournisseur de l’exemple précédent est affichée, car la colonne IDFournisseur est masquée. Si la colonne IDFournisseur n’était pas masquée, elle serait affichée à la place de la colonne NomFournisseur.
-
-
Ajouter des en-têtes de colonnes à une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété En-têtes colonnes, cliquez sur Oui pour afficher les en-têtes de colonnes. Dans les zones de liste déroulante, les en-têtes sont uniquement affichés lorsque la liste est ouverte.
Si la zone de liste ou la zone de liste déroulante a pour base une source d’enregistrement, Access utilise les noms des champs de la source d’enregistrement en tant qu’en-têtes de colonnes. Si le contrôle de zone de liste est basé sur une liste de valeurs fixe, Access utilise les premiers éléments de données n dans la liste de valeurs (propriété Contenu) en tant qu’en-têtes de colonnes, où n représente le nombre défini dans la propriété Nbre colonnes.
-
-
Désactiver la fonctionnalité de remplissage automatique pour une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété Auto étendre, cliquez sur Non.
Lorsque la propriété Auto étendre est définie sur Non, vous devez sélectionner une valeur dans la liste ou taper la valeur en entier.
-
-
Définir la largeur de la zone de liste d’une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété Largeur liste, entrez la largeur souhaitée en utilisant l’unité de mesure actuelle (définie dans le Panneau de configuration Windows). Pour utiliser une autre unité de mesure, ajoutez un indicateur de mesure. Par exemple, entrez 2 cm. N’oubliez pas de laisser assez d’espace pour une barre de défilement.
La zone de liste de la zone de liste déroulante peut être plus large que la zone de texte, mais pas le contraire. Le paramètre par défaut (Auto) signifie que la largeur de la zone de liste est égale à celle de la zone de texte d’une zone de liste déroulante.
-
-
Définir le nombre maximal de lignes à afficher dans une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété Lignes affichées, entrez un nombre.
Si le nombre actuel de lignes dépasse le nombre spécifié dans la propriété Lignes affichées, une barre de défilement verticale est affichée dans la zone de liste déroulante.
-
-
Restreindre les entrées d’une zone de liste déroulante à des éléments figurant dans la zone de liste d’une zone de liste déroulante d’un formulaire
-
Dans la zone de propriété Limiter à liste, cliquez sur Oui.
Remarques :
-
Si la première colonne affichée dans une zone de liste déroulante n’est pas la colonne liée, Access restreint les entrées à la liste, même si la propriété Limiter à liste est définie sur Non.
-
Si la propriété Limiter à liste est définie sur Non, si vous saisissez une entrée qui ne figure pas dans la liste et si la zone de liste déroulante est liée, l’entrée est stockée dans le champ sous-jacent, mais elle n’est pas ajoutée à la liste. Pour ajouter de nouvelles entrées à la liste, utilisez la propriété Sur absence dans liste et l’événement Absence dans liste.
-
-