Liste déroulante SIERREUR

Bonjour,

Pour finaliser mon document Excel, j'essai de faire fonctionner des listes déroulantes.

Grâce à l'aide obtenue sur ce forum j'arrive à faire des listes déroulantes fonctionnelles, sauf que là je suis encore embêté.

J'aimerais qu'Excel me propose une liste déroulante sous ces conditions :

Si le code utilisé en colonne B est un synonyme (invalide) disponible dans la base de donnée, alors proposer le synonyme valide (valeur exacte). Si le code saisi n'existe pas dans la base de données, alors proposer un code proche (valeurs proches)

J'arrive à faire une liste déroulante avec les synonymes via cette formule :

=DECALER('Database synonymes complete'!$AQ:$AQ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1; ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) - EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) +1)

Par contre, je n'arrive pas à lui faire proposer des codes proches ; et lorsque j'y arrive, je ne parviens pas à faire fonctionner les deux en même temps.

J'ajoute un document exemple, avec quelques indications sur ce que je m'efforce à faire, sans succès.

Si ça vous vas, je joins un document via cjoin, car ça permet d'avoir un document fonctionnel (j'ai uniquement conservé les 3 feuilles utiles) ; mais si besoin je couperait la base de données, comme je l'ai déjà fait ; je pourrai alors joindre le document directement à ce post.

https://cjoint.com/c/HJinsOMaq4h

Bonne journée !

bonjour,

Impossible d'ouvrir ta pièce jointe pour ma part et donc d'aller plus loin,

Bonne journée,

Girodo,

Je viens de tester le téléchargement, ça fonctionne bien pourtant.

Je vais voir pour mettre une version suffisamment légère pour être upload sur le forum.

Le voici, il ne fait plus que 28ko.

Aucune macro, pratiquement toutes les données manquantes et du coup des erreurs desquelles il ne faut pas tenir compte.

Bonsoir,

La seule chose que je pense avoir compris, c'est qu'il peut y avoir des erreurs de saisie (50.000 codes).

Pour éviter les erreurs de saisie, je propose une saisie intuitive dans un combobox au lieu de données/validation.

La recherche intuitive se fait sur la 1ere colonne mais elle pourrait se faire sur les 2 colonnes.

Boisgontier

31synonymes.zip (818.77 Ko)

Woo, je ne connais pas ça, mais ça m'a l'air excellent ! Je vais étudier l'idée, qui peut-être pourrait résoudre mon problème (je vois néanmoins des synonymes qui n'apparaissent pas ; par exemple "Pipt mili").

Seul inconvénient, les données qui sont utilisées ne sont pas tapées mais récupérées depuis une autre colonne. (la saisie se fait via une application et les infos arrivent dans la colonne "B" de mon document (après un long périple).

Merci pour cette alternative !

Bonne soirée

Ici la recherche se fait sur les 2 colonnes.

Boisgontier

25synonymes2.zip (818.78 Ko)

Bonsoir,

Votre document fonctionne bien désormais.

Par contre, les codes qui viennent remplir la colonne B (ou A sur votre document) s'inscrivent automatiquement dans la colonne ; il n'y a pas de saisie (du moins pas au départ).

J'utilise cette formule pour rechercher les synonymes et les faire apparaître dans une liste déroulante :

=DECALER('Database synonymes complete'!$AQ:$AQ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1; ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) - EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) +1)

Je pensais à cette formule pour aller rechercher les données les plus proches en cas d'erreur de saisie :

=RECHERCHEV(Correspondances!$B2;'Database complete'!$AP:$AP;1;VRAI)

(En espérant que cette formule soit en mesure de proposer plusieurs résultats).

Et donc une formule pour combiner les deux :

Si $B2 est absent de 'Database synonymes complete'!$AQ:$AR , alors proposer le code le plus proche ; Si $B2 est présent dans 'Database synonymes complete'!$AQ:$AR alors proposer le synonyme qui convient (AQ = synonymes valides ; AR = synonymes invalides).

Pour la partie en vert j'utilise cette formule pour générer une liste déroulante :

=DECALER('Database synonymes complete'!$AQ:$AQ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1; ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) - EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) +1)

Bonne soirée !

Bonjour,

je peux peut-être le faire fonctionner avec cette formule :

=SI(NB.SI($E:$E;"ERREUR ou cellule vide");RECHERCHEV(Correspondances!$B2;'Database complete'!$AP:$AP;1;VRAI);DECALER('Database synonymes complete'!$AQ:$AQ;EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1;;EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)+1))

Sauf que la partie surlignée me pose problème ; les cellules de la colonne E affichent "Erreur ou cellule vide" lorsqu'il y a un synonyme et lorsqu'il y a une erreur de saisie. (Egalement lorsque la cellule de référence n'est pas remplie).

Il faut donc que je parviennent à renseigner des indications différentes dans les cellules de la colonne E en fonction de la situation :

Lorsqu'il y a une erreur de saisie : afficher "Erreur de saisie" =>

=SIERREUR(INDEX('Database synonymes complete'!AQ:AR;EQUIV(B2;'Database synonymes complete'!AR:AR;0);1);SIERREUR(INDEX('Database synonymes complete'!AQ:AR;EQUIV(B2;'Database synonymes complete'!AR:AR;0);2);"Erreur de saisie"))

Lorsque les données sont des synonymes : afficher "synonyme" =>

=SI('Database synonymes complete'!AQ2<>'Database synonymes complete'!AR2;"Synonyme";"Nom valide")

Puis

=(RECHERCHEV(B3;'Database synonymes complete'!AR:AS;2;FAUX))

Lorsque la cellule est vide et indique #N/A : afficher "cellule vide". =>

=SIERREUR($B2;"Cellule vide")

Pour les assembler toutes :

=SI(Y2="Erreur de saisie";SI(NB.SI(Z:Z;"Synonyme");RECHERCHEV(Correspondances!$B2;'Database complete'!$AP:$AP;1;VRAI);DECALER('Database synonymes complete'!$AQ:$AQ;EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1;;EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)+1));SI(Z2="Nom valide";$B2;SI(Z2="Synonyme";DECALER('Database synonymes complete'!$AQ:$AQ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0)-1; ; EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) - EQUIV(B2;'Database synonymes complete'!$AR:$AR;0) +1)

)))

J'ai finalement trouvé, tout fonctionne bien ; il ne reste plus qu'à faire une liste déroulantes capables d'afficher des résultats en fonction du remplissage de la cellule.

Bonne fin de journée !

Bonjour à tous je reviens sur ce topic parceque j'ai une demande similaire mais je n'arrive pas a l'adapter a mon fichier excel.

Du coup je voulais savoir si il est possible de faire ce que vous avez fait avec la liste déroulante mais avec trois colonne.

Je vous explique sur mon fichier j'ai feuille d'inscription et je voudrais qu'on puisse rentré les nom sur la feuille liste avec le menu déroulant que vous avez fait, c'est a dire quand j'ecrit quelquechose dans Nom prénom de "feuille d'inscription" il me propose le meilleur résultat et qu'il me remplissent les collonne Sexe et Age en fonction de la liste.

Merci pour votre temps et votre aide

ci-joint le fichier

21inscritpion.xlsm (45.61 Ko)
Rechercher des sujets similaires à "liste deroulante sierreur"