GNT sans publicité, site mobile, fonctionnalitées exclusives...

Liste déroulante dynamique en fonction d'une saisie.

Le
Richard_35
Bonjour à tous,

Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
enregistrements d'une table qui contiennent la chaîne de caractères en cours
de saisie : cette liste déroulante se modifierait donc à chaque caractère
saisi.

Exemple Table1 :
1-abcdefg
2-efghijk
3-jklmno
4-abcmno

Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
Saisie de "m" => chaîne complète "bcm" => la liste propose 4
Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien

Je me doute que je devrais créer une requête :
SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"

Existe-t-il une astuce pour faire évoluer la liste en même temps que la
saisie ?

Merci d'avance de vos conseils,
Richard.
Lire les 10 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
chpa
Le #17476671
Bonsoir,
Apres modification du champ de saisie, faire un requery de la zone de liste
qui contient la requête précitée.
ps : remplacer "ChaîneDeSaisieEvolutif" par NomChampDeSaisie.Value

"Richard_35" de news:
Bonjour à tous,

Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
enregistrements d'une table qui contiennent la chaîne de caractères en
cours
de saisie : cette liste déroulante se modifierait donc à chaque caractère
saisi.

Exemple Table1 :
1-abcdefg
2-efghijk
3-jklmno
4-abcmno

Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
Saisie de "m" => chaîne complète "bcm" => la liste propose 4
Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien

Je me doute que je devrais créer une requête :
SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"

Existe-t-il une astuce pour faire évoluer la liste en même temps que la
saisie ?

Merci d'avance de vos conseils,
Richard.



Richard_35
Le #17479811
Bonjour chpa,

Merci de ta réponse.
Je n'arrive pas à faire fonctionner ta proposition... certainement de ma
faute, car je ne connais pas VBA.
"Actualiser" dans une macro equivaut à un requery, non ?

Je me permet de te donner le lien sur une petite base de test :
http://cjoint.com/?kkjU4fBeFm
Si tu veux me la modifier, ce serait sympa... si tu as le temps.

L'idéal, pour moi, serait que la liste déroulante de choix (Modifiable0)
s'affiche dès que la saisie commence en ne proposant QUE les enregistrements
de Table1 dont Texte contient le champ saisi. J'ai ajouté une liste (Liste2)
au cas où ce ne serait pas possible.

Merci de tes conseils,
Richard.


"chpa" a écrit :

Bonsoir,
Apres modification du champ de saisie, faire un requery de la zone de liste
qui contient la requête précitée.
ps : remplacer "ChaîneDeSaisieEvolutif" par NomChampDeSaisie.Value

"Richard_35" de news:
> Bonjour à tous,
>
> Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
> enregistrements d'une table qui contiennent la chaîne de caractères en
> cours
> de saisie : cette liste déroulante se modifierait donc à chaque caractère
> saisi.
>
> Exemple Table1 :
> 1-abcdefg
> 2-efghijk
> 3-jklmno
> 4-abcmno
>
> Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
> Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
> Saisie de "m" => chaîne complète "bcm" => la liste propose 4
> Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien
>
> Je me doute que je devrais créer une requête :
> SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"
>
> Existe-t-il une astuce pour faire évoluer la liste en même temps que la
> saisie ?
>
> Merci d'avance de vos conseils,
> Richard.
>




Fabien
Le #17480781
Richard_35 a écrit :
Bonjour chpa,

Merci de ta réponse.
Je n'arrive pas à faire fonctionner ta proposition... certainement de ma
faute, car je ne connais pas VBA.
"Actualiser" dans une macro equivaut à un requery, non ?

Je me permet de te donner le lien sur une petite base de test :
http://cjoint.com/?kkjU4fBeFm
Si tu veux me la modifier, ce serait sympa... si tu as le temps.

L'idéal, pour moi, serait que la liste déroulante de choix (Modifiable0)
s'affiche dès que la saisie commence en ne proposant QUE les enregistrements
de Table1 dont Texte contient le champ saisi. J'ai ajouté une liste (Liste2)
au cas où ce ne serait pas possible.

Merci de tes conseils,
Richard.


"chpa" a écrit :

Bonsoir,
Apres modification du champ de saisie, faire un requery de la zone de liste
qui contient la requête précitée.
ps : remplacer "ChaîneDeSaisieEvolutif" par NomChampDeSaisie.Value

"Richard_35" de news:
Bonjour à tous,

Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
enregistrements d'une table qui contiennent la chaîne de caractères en
cours
de saisie : cette liste déroulante se modifierait donc à chaque caractère
saisi.

Exemple Table1 :
1-abcdefg
2-efghijk
3-jklmno
4-abcmno

Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
Saisie de "m" => chaîne complète "bcm" => la liste propose 4
Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien

Je me doute que je devrais créer une requête :
SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"

Existe-t-il une astuce pour faire évoluer la liste en même temps que la
saisie ?

Merci d'avance de vos conseils,
Richard.








Salut,
Une version http://cjoint.com/?kklfGAV6Oj
@+
Richard_35
Le #17481121
Bonjour Fabien,

Merci pour ta réponse : ça marche du tonnerre !

Est-il impossible que "Modifiable0" soit une vraie liste déroulante qui
s'affiche et se modifie en fonction de la saisie (donc sans passer par
"Liste2") ?

Merci de tes conseils,
Richard.

"Fabien" a écrit :

Richard_35 a écrit :
> Bonjour chpa,
>
> Merci de ta réponse.
> Je n'arrive pas à faire fonctionner ta proposition... certainement de ma
> faute, car je ne connais pas VBA.
> "Actualiser" dans une macro equivaut à un requery, non ?
>
> Je me permet de te donner le lien sur une petite base de test :
> http://cjoint.com/?kkjU4fBeFm
> Si tu veux me la modifier, ce serait sympa... si tu as le temps.
>
> L'idéal, pour moi, serait que la liste déroulante de choix (Modifiable0)
> s'affiche dès que la saisie commence en ne proposant QUE les enregistrements
> de Table1 dont Texte contient le champ saisi. J'ai ajouté une liste (Liste2)
> au cas où ce ne serait pas possible.
>
> Merci de tes conseils,
> Richard.
>
>
> "chpa" a écrit :
>
>> Bonsoir,
>> Apres modification du champ de saisie, faire un requery de la zone de liste
>> qui contient la requête précitée.
>> ps : remplacer "ChaîneDeSaisieEvolutif" par NomChampDeSaisie.Value
>>
>> "Richard_35" >> de news:
>>> Bonjour à tous,
>>>
>>> Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
>>> enregistrements d'une table qui contiennent la chaîne de caractères en
>>> cours
>>> de saisie : cette liste déroulante se modifierait donc à chaque caractère
>>> saisi.
>>>
>>> Exemple Table1 :
>>> 1-abcdefg
>>> 2-efghijk
>>> 3-jklmno
>>> 4-abcmno
>>>
>>> Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
>>> Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
>>> Saisie de "m" => chaîne complète "bcm" => la liste propose 4
>>> Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien
>>>
>>> Je me doute que je devrais créer une requête :
>>> SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"
>>>
>>> Existe-t-il une astuce pour faire évoluer la liste en même temps que la
>>> saisie ?
>>>
>>> Merci d'avance de vos conseils,
>>> Richard.
>>>
>>
Salut,
Une version http://cjoint.com/?kklfGAV6Oj
@+



Fabien
Le #17481481
Richard_35 a écrit :
Bonjour Fabien,

Merci pour ta réponse : ça marche du tonnerre !

Est-il impossible que "Modifiable0" soit une vraie liste déroulante qui
s'affiche et se modifie en fonction de la saisie (donc sans passer par
"Liste2") ?

Merci de tes conseils,
Richard.

"Fabien" a écrit :

Richard_35 a écrit :
Bonjour chpa,

Merci de ta réponse.
Je n'arrive pas à faire fonctionner ta proposition... certainement de ma
faute, car je ne connais pas VBA.
"Actualiser" dans une macro equivaut à un requery, non ?

Je me permet de te donner le lien sur une petite base de test :
http://cjoint.com/?kkjU4fBeFm
Si tu veux me la modifier, ce serait sympa... si tu as le temps.

L'idéal, pour moi, serait que la liste déroulante de choix (Modifiable0)
s'affiche dès que la saisie commence en ne proposant QUE les enregistrements
de Table1 dont Texte contient le champ saisi. J'ai ajouté une liste (Liste2)
au cas où ce ne serait pas possible.

Merci de tes conseils,
Richard.


"chpa" a écrit :

Bonsoir,
Apres modification du champ de saisie, faire un requery de la zone de liste
qui contient la requête précitée.
ps : remplacer "ChaîneDeSaisieEvolutif" par NomChampDeSaisie.Value

"Richard_35" de news:
Bonjour à tous,

Je souhaiterais créer une liste déroulante qui ne proposerait QUE les
enregistrements d'une table qui contiennent la chaîne de caractères en
cours
de saisie : cette liste déroulante se modifierait donc à chaque caractère
saisi.

Exemple Table1 :
1-abcdefg
2-efghijk
3-jklmno
4-abcmno

Saisie de "b" => chaîne complète "b" => la liste propose 1, 4
Saisie de "c" => chaîne complète "bc" => la liste propose 1,4
Saisie de "m" => chaîne complète "bcm" => la liste propose 4
Saisie de "x" => chaîne complète "bcmx" => la liste ne propose rien

Je me doute que je devrais créer une requête :
SELECT * FROM table1 WHERE Champ like "*" & "ChaîneDeSaisieEvolutif" & "*"

Existe-t-il une astuce pour faire évoluer la liste en même temps que la
saisie ?

Merci d'avance de vos conseils,
Richard.







Salut,
Une version http://cjoint.com/?kklfGAV6Oj
@+





Tente le coup ;-)
Publicité
Suivre les réponses
Poster une réponse
Anonyme