SlideShare a Scribd company logo
1 of 3
Download to read offline
Votre Assistante : http://www.votreassistante.net - le 15/06/2016
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
1
Créer des listes en cascade avec Access
(MAJ du tutoriel Créer une zone de liste en cascade avec Access)
Dans ce tutoriel, nous allons revoir comment créer des listes en cascade avec Access.
Dans un précédent article, je vous ai montré comment créer une zone de liste en cascade avec
Access qui d’ailleurs contenait une petite erreur dans le titre, car il s’agissait plutôt d’une liste
déroulante en cascade et non pas d’une zone de liste. Malheureusement, suite à ce tutoriel,
quelques abonnés m’avaient fait remarquer que les données issues de la seconde liste ne
restaient pas affichées dans les autres enregistrements si le filtre de la première liste de
l’enregistrement en cours n’était pas le même. C’est-à-dire que si je choisis la France en tant
que Pays, puis Paris, qu’ensuite, dans un autre enregistrement, je choisis le Portugal avec Porto
et que je reviens sur l’enregistrement avec la France, Paris avait disparu. Heureusement, dans
la table, les données étaient bien présentes, mais on saisit et consulte les données dans un
formulaire et non dans une table. Voici donc un petit supplément au tutoriel précédent dont la
solution m’a été gentiment transmise par Olivier (un commentateur du blog) et que j’ai pu tester
à 2 reprises pour des clients.
Nous allons partir de la base de données qui résulte du précédent tutoriel avec les sources de
données des 2 listes et le code VBA. Si vous n’avez pas suivi le précédent tutoriel sur la création
de zone de liste en cascade, je vous invite à le lire et vous trouverez dans l’Espace Membres la
base de données utilisée dans le tutoriel qui suit.
Nous n’allons pas toucher aux contenus des 2 listes du formulaire F_Prise_de_RDV, mais
simplement créer 2 requêtes et y faire référence en VBA. En fait, le souci de cette "perte
d’information" réside dans le fait que le contenu de la seconde liste est basé sur un critère (le
Pays), et que les villes ne se mettent à jour qu’après changement de Pays (si vous changez
d’enregistrement et que celui-ci possède déjà un Pays différent du dernier que vous avez
sélectionné et que vous cliquez sur la liste des villes, vous verrez que les villes ne
correspondront pas au pays concerné par l’enregistrement). Nous allons donc programmer pour
faire en sorte de ne pas prendre ce critère en compte sauf quand cela est nécessaire.
Votre Assistante : http://www.votreassistante.net - le 15/06/2016
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
2
Création de la requête filtrée :
La première requête est la même que celle que nous utilisons pour le contenu. Donc vous avez
2 méthodes possibles pour la créer :
 Soit la créer de toutes pièces en allant dans l’onglet Créer > Création de requête .
Vous sélectionnez la table T_villes, vous sélectionnez les champs ID, Ville (que vous triez
par ordre Croissant) et ID_Pays avec comme
critère [Formulaires]![F_Prise_de_RDV]![RDV_Pays] ;
 Soit vous ouvrez le contenu de la liste déroulante des villes dans le formulaire
F_Prise_de_RDV et vous cliquez droit sur l’onglet > Mode SQL . Vous
copiez le code en entier et refermez le formulaire entièrement sans enregistrer de
modification. Puis vous créez une requête comme indiqué précédemment, mais sans ajouter
de table, vous repassez en Mode SQL par un clic droit sur l’onglet et vous
remplacez le SELECT par ce que vous avez copié auparavant. Ici, il n’y a que 3 champs,
mais si vous avez besoin de requête assez longue et que vous ne pouvez pas la dupliquer
comme nous allons le faire après, cela peut être très utile pour gagner du temps.
Une fois l’une ou l’autre des étapes effectuées, fermez la requête en l’enregistrant sous le nom
R_Villes_filtre. Le nom n’a pas d’importance, mais on y fera référence en VBA.
Création de la requête non filtrée :
Pour la requête filtrée, cela va être encore plus simple : copiez-collez la requête que nous venons
de créer (Ctrl + C et Ctrl + V dans le panneau latéral) et donnez-lui le nom de R_Villes.
Ouvrez-la en Mode création et supprimez le champ ID_Pays avant de la
fermer en l’enregistrant.
Saisie du code VBA pour la liste en cascade :
Nous allons maintenant pouvoir faire référence à ces requêtes. Ouvrez le formulaire
F_Prise_de_RDV en Mode création et cliquez sur la liste déroulante des
villes.
Votre Assistante : http://www.votreassistante.net - le 15/06/2016
Article écrit par Lydia Provin du blog
Votre Assistante : http://www.votreassistante.net
3
Dans la Feuille de propriétés , à l’onglet Évènement, cliquez sur les 3 points de la
ligne Sur réception focus, puis appelez le Générateur de code. Comme nous voulons que la
liste soit filtrée lorsque le focus est récupéré pour cette liste, nous allons utiliser la requête
filtrée. Saisissez le code :
Me.RDV_Villes.RowSource = "R_Villes_filtre"
Si vos noms sont différents, adaptez-les en sachant que RDV_Villes correspond à la liste
déroulante et R_Villes_filtre à la requête filtrée.
Fermez la fenêtre VBA et cliquez sur la ligne d’évènement Sur perte focus où, toujours avec le
Générateur de code, nous allons faire référence à la requête non filtrée :
Me.RDV_Villes.RowSource = "R_Villes"
Voici le code complet du formulaire avec le code déjà présent :
Option Compare Database
Private Sub RDV_Pays_Change()
Me.RDV_Villes.Requery
End Sub
Private Sub RDV_Villes_GotFocus()
Me.RDV_Villes.RowSource = "R_Villes_filtre"
End Sub
Private Sub RDV_Villes_LostFocus()
Me.RDV_Villes.RowSource = "R_Villes"
End Sub
Vous pouvez maintenant fermer la fenêtre VBA ainsi que le formulaire en l’enregistrant et
utiliser votre formulaire avec toutes les données visibles.

More Related Content

Viewers also liked

Maestriaevaluacindelosaprendizajes 091004205515-phpapp01
Maestriaevaluacindelosaprendizajes 091004205515-phpapp01Maestriaevaluacindelosaprendizajes 091004205515-phpapp01
Maestriaevaluacindelosaprendizajes 091004205515-phpapp01Adalberto
 
Trop bon pour_ne_pas_faire_suivre._
Trop bon pour_ne_pas_faire_suivre._Trop bon pour_ne_pas_faire_suivre._
Trop bon pour_ne_pas_faire_suivre._Patricia GALLET
 
Já que a vida é uma passagem
Já que a vida é uma passagemJá que a vida é uma passagem
Já que a vida é uma passagemeijl_2013
 
William S., conseiller strategique | Bernard Cinq-Mars
William S., conseiller strategique | Bernard Cinq-MarsWilliam S., conseiller strategique | Bernard Cinq-Mars
William S., conseiller strategique | Bernard Cinq-MarsTEDxQuébec
 
éCologie et compétition maritime
éCologie et compétition maritimeéCologie et compétition maritime
éCologie et compétition maritimelunah84
 
Telemercadeo Activo 3
Telemercadeo Activo 3Telemercadeo Activo 3
Telemercadeo Activo 3guest15921a2
 
Lo Que Hace La Bebida
Lo Que Hace La BebidaLo Que Hace La Bebida
Lo Que Hace La Bebidaguest441222
 

Viewers also liked (11)

Maestriaevaluacindelosaprendizajes 091004205515-phpapp01
Maestriaevaluacindelosaprendizajes 091004205515-phpapp01Maestriaevaluacindelosaprendizajes 091004205515-phpapp01
Maestriaevaluacindelosaprendizajes 091004205515-phpapp01
 
Trop bon pour_ne_pas_faire_suivre._
Trop bon pour_ne_pas_faire_suivre._Trop bon pour_ne_pas_faire_suivre._
Trop bon pour_ne_pas_faire_suivre._
 
Una invitación sensual
Una invitación sensualUna invitación sensual
Una invitación sensual
 
Cl pamphlet
Cl pamphletCl pamphlet
Cl pamphlet
 
2013 synergie collab messaging and collaboration
2013 synergie collab messaging and collaboration2013 synergie collab messaging and collaboration
2013 synergie collab messaging and collaboration
 
Já que a vida é uma passagem
Já que a vida é uma passagemJá que a vida é uma passagem
Já que a vida é uma passagem
 
William S., conseiller strategique | Bernard Cinq-Mars
William S., conseiller strategique | Bernard Cinq-MarsWilliam S., conseiller strategique | Bernard Cinq-Mars
William S., conseiller strategique | Bernard Cinq-Mars
 
éCologie et compétition maritime
éCologie et compétition maritimeéCologie et compétition maritime
éCologie et compétition maritime
 
Telemercadeo Activo 3
Telemercadeo Activo 3Telemercadeo Activo 3
Telemercadeo Activo 3
 
Lo Que Hace La Bebida
Lo Que Hace La BebidaLo Que Hace La Bebida
Lo Que Hace La Bebida
 
Social Marketing club YouSeeMii 12112
Social Marketing club YouSeeMii 12112Social Marketing club YouSeeMii 12112
Social Marketing club YouSeeMii 12112
 

More from Votre Assistante

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Votre Assistante
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfVotre Assistante
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Votre Assistante
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Votre Assistante
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Votre Assistante
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Votre Assistante
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Votre Assistante
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Votre Assistante
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Votre Assistante
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Votre Assistante
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Votre Assistante
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Votre Assistante
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Votre Assistante
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Votre Assistante
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Votre Assistante
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Votre Assistante
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Votre Assistante
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Votre Assistante
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Votre Assistante
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Votre Assistante
 

More from Votre Assistante (20)

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdf
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
 

Créer des listes en cascade avec Access (MAJ du tutoriel Créer une zone de liste en cascade avec Access)

  • 1. Votre Assistante : http://www.votreassistante.net - le 15/06/2016 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 1 Créer des listes en cascade avec Access (MAJ du tutoriel Créer une zone de liste en cascade avec Access) Dans ce tutoriel, nous allons revoir comment créer des listes en cascade avec Access. Dans un précédent article, je vous ai montré comment créer une zone de liste en cascade avec Access qui d’ailleurs contenait une petite erreur dans le titre, car il s’agissait plutôt d’une liste déroulante en cascade et non pas d’une zone de liste. Malheureusement, suite à ce tutoriel, quelques abonnés m’avaient fait remarquer que les données issues de la seconde liste ne restaient pas affichées dans les autres enregistrements si le filtre de la première liste de l’enregistrement en cours n’était pas le même. C’est-à-dire que si je choisis la France en tant que Pays, puis Paris, qu’ensuite, dans un autre enregistrement, je choisis le Portugal avec Porto et que je reviens sur l’enregistrement avec la France, Paris avait disparu. Heureusement, dans la table, les données étaient bien présentes, mais on saisit et consulte les données dans un formulaire et non dans une table. Voici donc un petit supplément au tutoriel précédent dont la solution m’a été gentiment transmise par Olivier (un commentateur du blog) et que j’ai pu tester à 2 reprises pour des clients. Nous allons partir de la base de données qui résulte du précédent tutoriel avec les sources de données des 2 listes et le code VBA. Si vous n’avez pas suivi le précédent tutoriel sur la création de zone de liste en cascade, je vous invite à le lire et vous trouverez dans l’Espace Membres la base de données utilisée dans le tutoriel qui suit. Nous n’allons pas toucher aux contenus des 2 listes du formulaire F_Prise_de_RDV, mais simplement créer 2 requêtes et y faire référence en VBA. En fait, le souci de cette "perte d’information" réside dans le fait que le contenu de la seconde liste est basé sur un critère (le Pays), et que les villes ne se mettent à jour qu’après changement de Pays (si vous changez d’enregistrement et que celui-ci possède déjà un Pays différent du dernier que vous avez sélectionné et que vous cliquez sur la liste des villes, vous verrez que les villes ne correspondront pas au pays concerné par l’enregistrement). Nous allons donc programmer pour faire en sorte de ne pas prendre ce critère en compte sauf quand cela est nécessaire.
  • 2. Votre Assistante : http://www.votreassistante.net - le 15/06/2016 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 2 Création de la requête filtrée : La première requête est la même que celle que nous utilisons pour le contenu. Donc vous avez 2 méthodes possibles pour la créer :  Soit la créer de toutes pièces en allant dans l’onglet Créer > Création de requête . Vous sélectionnez la table T_villes, vous sélectionnez les champs ID, Ville (que vous triez par ordre Croissant) et ID_Pays avec comme critère [Formulaires]![F_Prise_de_RDV]![RDV_Pays] ;  Soit vous ouvrez le contenu de la liste déroulante des villes dans le formulaire F_Prise_de_RDV et vous cliquez droit sur l’onglet > Mode SQL . Vous copiez le code en entier et refermez le formulaire entièrement sans enregistrer de modification. Puis vous créez une requête comme indiqué précédemment, mais sans ajouter de table, vous repassez en Mode SQL par un clic droit sur l’onglet et vous remplacez le SELECT par ce que vous avez copié auparavant. Ici, il n’y a que 3 champs, mais si vous avez besoin de requête assez longue et que vous ne pouvez pas la dupliquer comme nous allons le faire après, cela peut être très utile pour gagner du temps. Une fois l’une ou l’autre des étapes effectuées, fermez la requête en l’enregistrant sous le nom R_Villes_filtre. Le nom n’a pas d’importance, mais on y fera référence en VBA. Création de la requête non filtrée : Pour la requête filtrée, cela va être encore plus simple : copiez-collez la requête que nous venons de créer (Ctrl + C et Ctrl + V dans le panneau latéral) et donnez-lui le nom de R_Villes. Ouvrez-la en Mode création et supprimez le champ ID_Pays avant de la fermer en l’enregistrant. Saisie du code VBA pour la liste en cascade : Nous allons maintenant pouvoir faire référence à ces requêtes. Ouvrez le formulaire F_Prise_de_RDV en Mode création et cliquez sur la liste déroulante des villes.
  • 3. Votre Assistante : http://www.votreassistante.net - le 15/06/2016 Article écrit par Lydia Provin du blog Votre Assistante : http://www.votreassistante.net 3 Dans la Feuille de propriétés , à l’onglet Évènement, cliquez sur les 3 points de la ligne Sur réception focus, puis appelez le Générateur de code. Comme nous voulons que la liste soit filtrée lorsque le focus est récupéré pour cette liste, nous allons utiliser la requête filtrée. Saisissez le code : Me.RDV_Villes.RowSource = "R_Villes_filtre" Si vos noms sont différents, adaptez-les en sachant que RDV_Villes correspond à la liste déroulante et R_Villes_filtre à la requête filtrée. Fermez la fenêtre VBA et cliquez sur la ligne d’évènement Sur perte focus où, toujours avec le Générateur de code, nous allons faire référence à la requête non filtrée : Me.RDV_Villes.RowSource = "R_Villes" Voici le code complet du formulaire avec le code déjà présent : Option Compare Database Private Sub RDV_Pays_Change() Me.RDV_Villes.Requery End Sub Private Sub RDV_Villes_GotFocus() Me.RDV_Villes.RowSource = "R_Villes_filtre" End Sub Private Sub RDV_Villes_LostFocus() Me.RDV_Villes.RowSource = "R_Villes" End Sub Vous pouvez maintenant fermer la fenêtre VBA ainsi que le formulaire en l’enregistrant et utiliser votre formulaire avec toutes les données visibles.