Liste déroulante avec deux refs manquante sur un fichier

Bonjour à tous,

Je viens de plancher sur une méthode afin d'obtenir une liste déroulante qui s'alimente automatiquement depuis les insertions d'une plage de cellules nommée d'un tableau.

J'ai bien suivi le tuto dont je joins le lien :

Je pense avoir bien compris l'utilisation des différentes fonctions utilisés dans les cas abordés.

Tout fonctionne bien comme dans le premier fichier que je vous joins…

->" EXCEL PRATIQUE - LISTE DRLT 2 DERNIERS REFS OK - 2019 1230"

Mais dans le second fichier à chaque fois, après des dizaines d'essais, même pb…. il manque les deux dernieres plages de la plage "MaListe" à savoir "SAS TOP RESTO BAR" et "LOL".

dans ce fichier ->"EXCEL PRATIQUE - LISTE DRLT 2 REFS MQTES - 2019 1230"

Il doit une valeur, une entrée, je ne sais quoi d'activé dans ce fichier pour que cela pose soucis toujours au même endroit.

J'aimerais comprendre ce que cela peut-être, afin entre autre de pouvoir utiliser cette fonctionnalité de que j'ai apprise dans ce fichier…..

Surement un truc tout bête mais que je n'ai pas su voir …..

Merci d'avance, …..

Je cherche depuis des heures…. en vain

bonsoir

du qui fonctionne avec un petit + et des explications

9shtours.xlsx (33.32 Ko)

cordialement

Bonsoir Tulipe_4

Merci pour tes explications et exemple

J'aurais cependant besoin d'éclaircissement stp sur le fonctionnement de tes formules.

1 ere formule :

=SIERREUR(INDEX(EBTS;EQUIV(0;NB.SI(EBTS;"<"&EBTS)-SOMME(NB.SI(EBTS;A$1:A1));0));"")

Que demandes-tu à Excel lorsque tu dis NB.SI(EBTS;"<"&EBTS)?

A quoi correspond "-SOMME"? car je vois bien une des valeurs de cette somme, c''est le fameux "NB.SI" mais juste après la parenthèse de fermeture de ce même NB.SI celle de SOMME se ferme directement.

Est ce le "-SOMME" du EQUIV qui permet d'avoir un tri alphabétique des noms de EBTS?

2 eme formule :

=DECALER(Feuil2!$A$2;;;NB.SI(Feuil2!$A:$A;"><"))

Et là je ne comprends rien au NB.SI … Pourquoi $A écrit deux fois et pourquoi "><"....

Et as tu une idée de ce qui ne collait pas dans le fichier où il manquait deux refs?

Merci de ton aide

Et une

bonjour

pour la 1ere formule

NB.SI(.....;"<"&......) compte les valeurs considérées comme inferieures , bon .... il faut savoir que chaque paquets de carractères est en realité une valeur numerique ordonnée (une espèce de code....)

alors ,et c'est la que c'est vicieux , on y ote la somme des valeurs précédement extraites , pour les eliminer au fur et à mesure de l'incrementation

pour la 2 eme formule

$A:$A ;c'est la colonne entière (quand tu cliques sur la lettre)

le "><" : carractère unaire indique à NB.SI de compter les cel qui contiennent du texte réelement visible car parfois il peut y en avoir du caché comme par exemple une formule (si(machin =2 ;"toto;"") ou sierreur(.....);"") , donc le "><" fait le distinguo entre vide et nul , Nota : ça ne marche que pour du texte

cordialement

Bonjour Tulipe 4,

Je reviens vers toi car j'ai essayé d'adapter tes conseils à partir de mon précédent fichier sur un nouveau.

J'ai remarqué que le nom de plage que j'ai créé "Désignation_réfs" à partir de la grille tarifs ne semble pas exploitable.

Dans ton exemple sur mon précédent fichier la plage EBT était issue d'un tableau. Et là le soucis que je rencontre est que mettre sous fiorme de tableau cette grille tarif, cela décale tout et fausse tous les calculs inhérent à celle-ci..

Aurais tu une idée?

En te remerciant,

bonjour

essaie de

1) tu selectionnes la colonne du tableau automatique

2) tu vas dans gestionnaire

3) tu donnes un nom a cette selection ,ce qui evite les [[ ........]]]]]

il faut savoir que l'incrementation a partir de ce type de tablo peut poser problème car on ne pas figer , ou alors il faut jouer du copier coller de formule , bonjour si matriciel ...............

cordialement

Re bonjour,

Eh bien j'ai beau essayé je galère un peu ...

dans ce fichier ci j'ai repris ta formule et je n'obtiens que des 0 ...

Je te joins ensuite le fichier avec le conseil que tu viens de me donner

Et voici le résultat en suivant ce que j'ai compris de ta réponse

Je dis bien ce que j'ai compris car il y a forcément une erreur de ma part pour en arriver à ces "0" ...

bonjour

je te propose ça

=SIERREUR(INDEX(Désignation_Réfs;EQUIV(0;SI(Désignation_Réfs<>"";NB.SI(Désignation_Réfs;"<"&Désignation_Réfs)-SOMME(NB.SI(Désignation_Réfs;R$9:R9));"");0));"")

n'oublie pas de valider :Ctrl Maj Entrée

cordialement

Nouveau test

Mais toujours les "0" quand j'incrémente la formule matricielle

Pourtant dnas gestionnaire de noms les valeurs références de la plage nommées sont bien celle que je souhaiterais voir ...

je dois surement faire une erreur ailleurs alors ...

bonjour

je te propose ça

=SIERREUR(INDEX(Désignation_Réfs;EQUIV(0;SI(Désignation_Réfs<>"";NB.SI(Désignation_Réfs;"<"&Désignation_Réfs)-SOMME(NB.SI(Désignation_Réfs;R$9:R9));"");0));"")

n'oublie pas de valider :Ctrl Maj Entrée

cordialement

Tulipe Merci ça fonctionne!

Peux tu m'expliquer ce qui ne collait pas et la logique de ce que tu as ajouté pour solutionner stp? Merci beaucoup!!!

re

j'ai remarqué que dans desigation_ il y avait des ligne vides , alors j'ai rajouté une condition SI( design_ <>"" en amont du NB.SI

cordialement

Bonjour Tulipe_4,

Je reviens vers toi par rapport à ce sujet sur lequel je me suis repenché car, malgré le fait que j'ai avancé grâce aux dernières formules que tu m'a conseillé, là je ne parviens pas à saisir le fonctionnement de celle-ci…

Et ça serait dommage de passer à coté, elle est vraiment ingénieuse…

Ce que je ne comprends c'est ce qui se calcule dans le EQUIV

Ce que je pense avoir compris c'est que le EQUIV va chercher la valeur nulle de ce qui se trouve dans le tablo de recherche mais ça fait déjà un moment que je cherche à comprendre comment celui-ci fonctionne sans parvenir à trouver ..

Pour prendre un exemple concret du fichier joint :

En feuille 2 dans la liste incrémentée avec ta formule,

quand je prends la cellule donnant le résultat "Bar des papas", si je regarde bien je sais qu'il n'existe que trois autres noms dans EBTS inférieurs à lui et aussi que la somme des occurrences apparues dans la liste précédemment est de 3 …

Donc est ce que la seule valeur à observer du tablo dans la console de fonction (cf photo ci-joint) est celle qui se trouve tout à gauche ?

Et ensuite le fait de donner 0 en valeur de recherche fait que Excel va chercher une valeur au dessus de celle défini par le tablo de recherche?

En fait plus j'essai de comprendre et moins j'y parviens …

Pourrais tu m'expliquer grosso modo la logique de la fonction EQUIV dans cette formule?

En te remerciant,

bonjour

pour la 1ere formule

NB.SI(.....;"<"&......) compte les valeurs considérées comme inferieures , bon .... il faut savoir que chaque paquets de carractères est en realité une valeur numerique ordonnée (une espèce de code....)

alors ,et c'est la que c'est vicieux , on y ote la somme des valeurs précédement extraites , pour les eliminer au fur et à mesure de l'incrementation

pour la 2 eme formule

$A:$A ;c'est la colonne entière (quand tu cliques sur la lettre)

le "><" : carractère unaire indique à NB.SI de compter les cel qui contiennent du texte réelement visible car parfois il peut y en avoir du caché comme par exemple une formule (si(machin =2 ;"toto;"") ou sierreur(.....);"") , donc le "><" fait le distinguo entre vide et nul , Nota : ça ne marche que pour du texte

cordialement

equiv

bonjour

attention quand on nomme une plage avec avec NB.SI(........ ) ou NBVAL il ne faut pas qu'il y ait de vides

je te donnerai la formule had oc avec un tuto , vers 17 heures

cordialement

Merci beaucoup

Oui rapport aux cellules vides dans une page NB.SI, j'avais bien noté qu'il fallait y faire attention ou bien contrer avec un SI(…<>"";

Mais là c'est surtout la façon dont se calcule le tablo de recherche de EQUIV qui me laisse désappointé

Salut Tulipe_4,

Je suis toujours preneur pour des explications si ça t'est possible

Je planche toujours sur ce tablo de recherche, je pensais avoir compris comment le EQUV permet d'obtenir un numéro de ligne mais non …

Par exemple, dans le fichier joint j'ai changé l'ordre des cellules de EBTS en feuille 1

Si on prend le Chauray situé du coup en 2eme ligne de EBTS,

il ya 36 valeurs qui lui sont inférieures et il ya une occurrence de EBT apparue dans la liste incrémenté dans Feuille 2

donc je pensais à 36-1

mais Excel indique ligne 68 …

Je ne comprends pas du tout le mécanisme…

Tout comme les 0 de EQUIV en valeur recherchée, a part "valeur nulle" concrètement qu'est ce que cela signifie?..

Vraiment preneur des explications et aide

Bonsoir tulipe_4,

A force de revenir régulièrement sur l'analyse de cette formule, en la découpant et aussi en réduisant le nombre d'occurrences de la liste source, j'ai fini par comprendre le mécanisme de ta formule.

C'est vraiment ingénieux je trouve.

Si j'ai bien compris nous allons demander au tablo de recherche de redefinir à chaque ligne incrémentée les valeurs sources en fonction du nombre d'occurrences de cette même source qui leurs sont inférieurs, valeurs auxquelles seront soustraites les occurrences de la source pour pouvoir adapter le tablo de recherche. Ce tablo qui permettra de donner une valeur 0 qui sera donc le résultat nul de la soustraction de la position de la valeur de la liste source (définit sur la base du nombre de valeurs qui lui sont inférieures dans le liste source) par le nombre d'occurrence déjà parue dans l'incrémentation (et prenant en compte pour chacune d'elle le nombre de plage occupées dans la liste source)

C'est vraiment ingénieux, merci tulipe_4 pour cette formule!

Bonne soirée,

Rechercher des sujets similaires à "liste deroulante deux refs manquante fichier"