Générer une liste de validité filtrée et triée

Bonjour à toutes et tous,

Je tente de générer, sous Excel 2010, une liste filtrée triée dans une validité, le tout hors macros (les contraintes du boulot...)

Ce que j’ai réussi à faire :

  • L’utilisateur saisi les premiers caractères, puis ouvre la liste : une liste partielle s’affiche
    cela est assez simple, vu que la liste d’origine qui s’appelle "UF" est triée
    Edit : si la feuille doit être protégée, autoriser la modification des objets pour l'ouverture de la liste partielle

Ce que je voudrai faire :

  • L’utilisateur saisi une chaine de caractères, et, à l’ouverture de la liste, trouve d’abord les items qui contiennent la chaine de caractères saisis

Je me suis donc dit que le plus simple était de m’acharner sur la première validité en C4 du classeur joint, et de repérer les lignes qui contiennent ma chaine de caractères ; je sélectionne donc une plage de cellules, saisie de la formule :

=SI(ESTNUM(CHERCHE(C4;UF));LIGNE(UF);269)

puis validation matricielle par Ctrl + Maj +Entrer

-> si ma fonction CHERCHE trouve la chaine de caractères en C4 dans une cellule de la plage "UF", j’ai le numéro de ligne qui s’affiche, sinon j’ai le chiffre 269.

Cela fonctionne, j’ai bien la plage voulue qui s’affiche, mais cette formule ne fonctionne pas en tant que validité, même si je la nomme.

Je pense que c’est mon principal problème, puisque tout le reste en découle (donc tout le reste... foire )

Dans le classeur joint, vous trouverez :

  • Colonne A, la liste d’origine triée
  • Colonne B, plage B4:B12, les validités qui retournent une liste partielle pour chaque cellule, liste qui dépendent du début de la saisie (cette partie fonctionne bien, c’est "cadeau" )
  • Colonne C, mes essais de listes foireuses que je voudrai mettre en place pour C4:C12, basée sur une chaine de caractère
    Colonne D, la base de la formule, où je cherche ma chaine de caractère, pour l’exemple cela concerne uniquement C4
  • Colonne E, soit je retourne le n° de ligne, soit le chiffre 269
  • Colonne F, je trie les n° de lignes en ordre croissant
  • Et enfin, colonne G, la liste que je voudrai afficher en tant que validité

Merci d’avance de vos lumières

J’illustre un peu mes propos...

  • Colonne A, la liste d’origine triée
  • Colonne B, plage B4:B12, les validités qui retournent une liste partielle pour chaque cellule, liste qui dépendent du début de la saisie (cette partie fonctionne bien, c’est "cadeau" )
  • Colonne C, mes essais de listes foireuses que je voudrai mettre en place pour C4:C12, basée sur une chaine de caractère
    Colonne D, la base de la formule, où je cherche ma chaine de caractère, pour l’exemple cela concerne uniquement C4
  • Colonne E, soit je retourne le n° de ligne, soit le chiffre 269
  • Colonne F, je trie les n° de lignes en ordre croissant
  • Et enfin, colonne G, la liste que je voudrai afficher en tant que validité
Ce qui donne :

resultats formules employees

À noter que la formule en colonne G donne le résultat escompté avec AOO :

liste obtenue avec aoo

...sauf que :

  1. Pas le droit d’installer AOO au boulot
  2. AOO ne recalcule la liste qu’après validation de la cellule (il faut saisir la chaine, valider, revenir sur la cellule et ouvrir la liste)

Le fichier est joint dans le premier message de ce fil.

En espérant que ce soit plus clair...

bonjour

un essai ( à mon idée .... )

12belug.xlsx (26.65 Ko)

cordialement

La structure a l"air assez impressionnante

Je dois m’absenter une semaine, mais ne manquerai pas de faire un retour sur ta proposition à mon retour

Finalement, je me suis absenté plus que ça

On atteint pas encore le fonctionnement voulu, par exemple, dans mon fichier joint au premier message du fil, lorsque je demande en C4 une liste contenant la suite de caractère ges, j’aimerai obtenir la liste visible ici en G2 et suivantes (mais dans une validité) :

liste uf selon contenu c4

Or, j'obtiens :

liste uf selon tulipe4

Cela dit, ta piste semble très intéressante, je vais continuer à creuser et ferai un retour ici si j'ai du nouveau.

Encore merci pour cette proposition

Finalement, je vais me débrouiller avec ma saisie des premiers caractères qui affiche une liste partielle, cela couvre plus de 80 % des cas, pour les 20 % restant, je continuerai à chercher directement dans la plage UF (il y a un autofiltre pour faciliter la recherche).

Encore merci à tulipe_4 pour le temps consacré et les nouvelles techniques partagées

Rechercher des sujets similaires à "generer liste validite filtree triee"