Lorsque vous entrez des données dans des formulaires dans des bases de données de bureau Access, il peut être plus rapide et plus facile de sélectionner une valeur dans une liste que de mémoriser une valeur à taper. Une liste de choix permet également de s’assurer que la valeur entrée dans un champ est appropriée. 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. Poursuivez votre lecture 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 via l’ajout d’un champ Liste de choix à un formulaire
- 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 fournit deux contrôles de liste pour les formulaires : la zone de liste et la zone de liste déroulante.
Zone de liste : Le contrôle de zone de liste affiche une liste de valeurs ou de choix. La zone de liste contient des lignes de données, et elle est généralement dimensionnée de sorte que plusieurs lignes soient visibles à tout moment. Les lignes peuvent être divisées en colonnes, lesquelles peuvent apparaître avec ou sans en-tête. Si la liste comporte plus de lignes que le contrôle peut afficher, Access affiche une barre de défilement dans le contrôle. Les utilisateurs sont limités aux choix dans la zone de liste et ne peuvent pas taper une valeur dans une zone de liste.
Déroulante: Le contrôle de zone de liste déroulante offre un moyen plus compact de présenter une liste de choix. La liste est masquée jusqu’à ce que vous sélectionnons la flèche déroulante. Une zone de liste déroulante vous permet également 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.
- Sélectionnez la flèche pour afficher la liste déroulante.
- Sélectionnez 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 liée qui recherche des valeurs dans une table ou une requête, assurez-vous que le formulaire est basé sur une source d’enregistrement qui inclut un champ de clé étrangère ou un champ De recherche. Cela permet de créer les relations nécessaires pour lier les données dans la zone de liste ou la zone de liste déroulante aux données du formulaire.
Haut de la page
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 sélectionnez Mode Création.
Remarque
Cette procédure part du principe que le formulaire dépend d’une table ou d’une requête. Certaines étapes ne s’appliquent pas si le formulaire est indépendant. Pour déterminer si le formulaire est lié à une table ou à 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.
Sélectionnez l’outil Zone de liste ou l’outil Zone de liste déroulante .
Dans le formulaire, sélectionnez l’emplacement où vous souhaitez placer la zone de liste ou la zone de liste déroulante.
- Selon 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, sélectionnez Je souhaite que la zone de liste/zone de liste déroulante recherche les valeurs dans une table ou une requête.
- Si vous souhaitez afficher une liste fixe de valeurs qui changent rarement, sélectionnez Je taperai les valeurs souhaitées.
- Si vous souhaitez que le contrôle effectue une opération de recherche plutôt que de servir d’outil de saisie de données, sélectionnez Rechercher un enregistrement sur mon formulaire en fonction de la valeur que j’ai sélectionnée dans ma zone de liste/zone de liste déroulante. Cela crée un contrôle indépendant avec une macro incorporée qui effectue une opération de recherche basée sur la valeur entrée par l’utilisateur.
Suivez les instructions pour spécifier le mode d’affichage des valeurs.
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, sélectionnez 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 il n’écrit pas la valeur dans une table.
- Pour créer un contrôle lié, sélectionnez Stocker cette valeur dans ce champ, puis sélectionnez le champ auquel vous souhaitez lier le contrôle.
Sélectionnez Suivant, puis tapez une étiquette pour le contrôle. Cette étiquette s’affiche en regard du contrôle .
Sélectionnez Terminer.
Haut de la page
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. Le champ Liste de choix que vous créez peut être à plusieurs valeurs ou contenir une seule valeur. Pour plus d’informations sur la création de champs de recherche à valeurs multiples, consultez 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 Recherche, puis sous l’onglet Créer , dans le groupe Formulaires , sélectionnez 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 n’est pas affiché, 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 remplacer une zone de liste modifiable par une zone de liste, ou inversement, cliquez avec le bouton droit sur le contrôle, sélectionnez Modifier par dans le menu contextuel, puis sélectionnez le type de contrôle souhaité.
Haut de la page
Création d’une zone de liste ou d’une zone de liste déroulante sans utiliser l’Assistant
Lorsque vous créez une zone de liste ou une zone de liste déroulante sans utiliser d’Assistant, vous définissez vous-même la plupart des propriétés du contrôle. Si vous souhaitez plus d’informations sur une propriété particulière, sélectionnez la zone de propriété appropriée et appuyez 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.
Sélectionnez l’outil Zone de liste ou l’outil Zone de liste déroulante .
Sélectionnez une fois dans le formulaire pour créer un contrôle de taille par défaut, ou sélectionnez et faites glisser jusqu’à ce que le contrôle ait la taille souhaitée.
Le contrôle étant toujours sélectionné, appuyez sur F4 pour ouvrir sa feuille de propriétés.
Définissez les propriétés Type de source de ligne et Source de ligne à l’aide du tableau suivant.
Pour Définissez la propriété Type de source de ligne sur Définissez la propriété Source de ligne comme suit Afficher les valeurs d’une table ou d’une requête, ou les résultats d’une SQLinstructionTable/Requête Dans la liste déroulante, sélectionnez la table ou la requête qui contient les valeurs que vous souhaitez afficher dans la zone de liste ou la zone de liste déroulante. Ou tapez une SQLinstruction. Ou, sous l’onglet Données de la feuille de propriétés, sélectionnez le bouton Générer pour ouvrir le Générateur de requêtes. Pour plus d’informations sur la création d’une requête, consultez 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 :North;South;East;West. Ou, sous l’onglet Données de la feuille de propriétés, sélectionnez le bouton Générer 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 qui contient les noms de champs que vous souhaitez afficher dans la zone de liste ou la zone de liste déroulante. Si vous souhaitez que plusieurs colonnes apparaissent dans le contrôle, sélectionnez la zone de propriété Nombre de 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é, puis appuyez sur F1.
Si vous souhaitez qu’Access stocke la valeur que vous sélectionnez, sélectionnez la zone de propriété Source de contrôle, puis sélectionnez le champ auquel vous souhaitez lier la zone de liste ou la zone de liste déroulante.
Haut de la page
Personnalisation d’une zone de liste ou d’une zone de liste déroulante
Une fois le formulaire ouvert en mode Création, assurez-vous que la zone de liste ou la zone de liste déroulante est sélectionnée, puis appuyez sur F4 pour ouvrir la feuille de propriétés du contrôle. Effectuez ensuite l’une des actions suivantes :
Modifiez l’ordre de tri dans une zone de liste ou 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 composent la liste par 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 :
- Sélectionnez l’onglet Données , puis sélectionnez la zone de propriété Source de ligne.
- Sous l’onglet Données de la feuille de propriétés, sélectionnez le bouton Générer pour ouvrir le Générateur de requêtes.
- Dans la ligne Trier de la colonne à trier, spécifiez l’ordre de tri souhaité.
Lier une colonne à partir d’une zone de liste ou d’une zone de liste modifiable : 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 qui correspond à l’emplacement de la colonne dans la zone de liste ou la zone de liste déroulante. Par exemple, tapez
1pour 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 du 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 sur0, Access enregistre l’index de liste au lieu d’une valeur 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.Masquez une colonne dans une zone de liste ou une zone de liste déroulante d’un formulaire :
Dans la zone de propriété Largeurs de colonne, tapez
0pour la ou les colonnes que vous souhaitez 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 a la valeur0.5";2". Pour masquer la colonne SupplierID, définissez la propriété Column Widths sur0";2". 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 SupplierID n’est pas masquée, elle s’affiche à la place de la colonne SupplierName.
Ajouter des en-têtes de colonne à une zone de liste déroulante sur un formulaire :
- Dans la zone de propriété Têtes de colonne, sélectionnez Oui pour afficher les en-têtes de colonne. 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 la zone de liste déroulante ou la zone de liste est basée sur une liste à valeurs fixes, Access utilise les n premiers éléments de données de la liste de valeurs (propriété Source de ligne) comme en-têtes de colonne, où n = le nombre défini dans la propriété Nombre de colonnes.
Désactivez la fonctionnalité de remplissage à l’entrée pour une zone de liste déroulante sur un formulaire :
- Dans la zone de propriété Développer automatiquement, sélectionnez 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éfinissez la largeur de la partie zone de liste d’une zone de liste modifiable sur un formulaire :
- Dans la zone de propriété Largeur de liste, entrez la largeur souhaitée à l’aide de l’unité de mesure actuelle définie dans Windows Panneau de configuration. Pour utiliser une autre unité de mesure, ajoutez un indicateur de mesure. Par exemple, entrez
2 cm. Veillez à laisser suffisamment d’espace pour une barre de défilement. La partie zone de liste de la zone de liste modifiable peut être plus large que la partie zone de texte, mais elle ne peut pas être plus étroite. 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.
- Dans la zone de propriété Largeur de liste, entrez la largeur souhaitée à l’aide de l’unité de mesure actuelle définie dans Windows Panneau de configuration. Pour utiliser une autre unité de mesure, ajoutez un indicateur de mesure. Par exemple, entrez
Définissez le nombre maximal de lignes à afficher dans une zone de liste modifiable sur 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.
Limitez les entrées de zone de liste modifiable aux éléments de la partie liste d’une zone de liste modifiable d’un formulaire :
Dans la zone de propriété Limiter à la liste , sélectionnez Oui.
Remarque
- Si la première colonne affichée dans une zone de liste déroulante n’est pas la colonne liée, Access limite les entrées à la liste même si la propriété Limiter à la 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.
Haut de la page