Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Listbox, textbox, filtre

6 réponses
Avatar
Baton .rouge
Bonjour

existe t il une methode simple pour filtrer un listbox à chaque
modification d'un textbox qui sert de critère ?

J'ai une plage dans feuil1 : A3:B140
Le form est dans une autre feuille.

La méthode que j'utilise actuellement est de vider la listbox et
ajouter à chaque pression du clavier dans le textbox, le tout avec un
autofilter sur un range

J'ai entendu parler de sql, est ce mieux ?

Merci de vos lumières

6 réponses

Avatar
MichD
Bonjour,

Ne pas oublier que la procédure requiert la référence suivante :
Dans la fenêtre de l'éditeur de code / barre des menus /
Outils / références / cocher la référence suivante :
"Microsoft Activex data objects 2.8 librairy"

Fichier Exemple : http://cjoint.com/?CEBxstoJWl3

MichD
---------------------------------------------------------------
Avatar
MichD
Même fichier, mais non sensible et
affichage en ordre croissant dans le listbox

http://cjoint.com/?CEBx6Vpm81f

MichD
---------------------------------------------------------------
Avatar
Baton .rouge
On Mon, 27 May 2013 18:00:21 -0400, "MichD"
wrote:

Même fichier, mais non sensible et
affichage en ordre croissant dans le listbox

http://cjoint.com/?CEBx6Vpm81f

MichD
---------------------------------------------------------------



J'ai essayé celui là parce qu'il est insensible à la case.
Par contre j'ai un problème :

------------------------------------------------------------------------
Requete = "SELECT " _
& "'" & "MaPlage.Numéro de colonne" & "'" & _
" FROM MaPlage Where UCASE(" & "'" & "MaPlage.Numéro _
de colonne" & "'%" & ") Like " & Crit & "%'"
-------------------------------------------------------------------------

Mon problème est que le nom des colonnes ont des espaces.
Contrairement à excel, sql est différent et UCASE n'aime pas les quote
simple alors le quote après SELECT fonctionne.

En remplaçant les espaces par _, cela fonctionne bien.

Merci de ton aide.
Avatar
MichD
Mets les champs entre accolades.

À titre d'exemple, si le champ "Société" de mon
exemple était "La Société", on écrirait la requête
de cette manière. Données.[La Société]

Requete = "SELECT Données.[La Société] FROM Données Where Ucase(Données.[La
Société]) Like " & "'" & Crit & "%'"


MichD
---------------------------------------------------------------
Avatar
Baton .rouge
On Tue, 28 May 2013 13:13:12 -0400, "MichD"
wrote:

Mets les champs entre accolades.

À titre d'exemple, si le champ "Société" de mon
exemple était "La Société", on écrirait la requête
de cette manière. Données.[La Société]

Requete = "SELECT Données.[La Société] FROM Données Where Ucase(Données.[La
Société]) Like " & "'" & Crit & "%'"


MichD
---------------------------------------------------------------



Impecable.

J'en ai profiter pour ajouter un % avant le critère.
Je suis étonné que éèà donnent ÉÈÀ avec UCASE, je pensais plutot EEA
mais bon, ça peut faire l'affaire

Merci
Avatar
GL
Le 29/05/2013 17:48, Baton .rouge a écrit :

J'en ai profiter pour ajouter un % avant le critère.
Je suis étonné que éèà donnent ÉÈÀ avec UCASE, je pensais plutot EEA
mais bon, ça peut faire l'affaire



Ucase retranche 32 = 2^5 au code du caractère :

é = U+00E9 => É = U+00C9

Cdt.