Liste deroulante
Résolu
tumankisial
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour.
J'ai crée une liste déroulante à partir d'une colonne que j'ai fais sur une autre feuille. Dans cette colonne, il y a plusieurs fois le même mot qui revient. Du coup dans ma liste déroulante, le mot est en plusieurs fois. Est ce que vous avez une solution pour pouvoir n’afficher les mots qu'une seule fois dans une liste déroulante?
Merci d'avance pour vos réponses.
J'ai crée une liste déroulante à partir d'une colonne que j'ai fais sur une autre feuille. Dans cette colonne, il y a plusieurs fois le même mot qui revient. Du coup dans ma liste déroulante, le mot est en plusieurs fois. Est ce que vous avez une solution pour pouvoir n’afficher les mots qu'une seule fois dans une liste déroulante?
Merci d'avance pour vos réponses.
A voir également:
- Liste deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Site dangereux liste - Guide
1 réponse
Bonjour
voyez si ce système, qui utilise une colonne intermédiaire,(B feuil1) peut répondre à votre question.
https://www.cjoint.com/c/FEshKubuQ8C
crdlmnt
voyez si ce système, qui utilise une colonne intermédiaire,(B feuil1) peut répondre à votre question.
https://www.cjoint.com/c/FEshKubuQ8C
crdlmnt
Mais merci quand même pour cette première réponse
en B feuil1!
=SI(A2="";"";SI(NB.SI($A$2:A2;A2)=1;MAX($B$1:B1)+1;""))
__SI(A2="";""; renvoie vide si A est vide
__SI(NB.SI($A$2:A2;A2)=1 compte combien il y a de fois le nom de A2 dans u_n champ évolutif depuis le début de liste jusqu'à la hauteur où se trouve la formule (avec le 1° A2 bloqué par $ et pas le second)
__ MAX($B$1:B1)+1 si est égal à 1 va chercher le maximum de la liste au dessus de la formule et rajoute 1(même type de blocage que précédent
donc, la valeur de est incrémenté de 1 à chaque fois que la formule trouve un nouveau nom
__;"") si condition NB.SI=1 non remplie, renvoie cellule vide
en C2:
=SIERREUR(INDEX(A:A;EQUIV(LIGNE(A1);B:B;0));"")
SIERREUR permet (depuis Excel 200), d'annuler la formule si elle renvoie une erreur et donc de renvoyer une cellule vide ou la valeur texte éventuellement placée entre les derniers guillemets
INDEX(A:A;EQUIV(LIGNE(A1);B:B;0));"")
principe:
INDEX(champ;N° de ligne dans le champ; N° de colonne de champ) pour trouver la valeur de la cellule à l'intersection de la ligne et de la colonne désitgnée
(A:A champ de lan valeur à trouver
EQUIV(LIGNE(A1);B:B;0) ressort le n° de ligne dans B:B où se trouve la valeur définie par le code LIGNE(A1) soit ligne A équivaut à 1; LIGNE(A2) équivaut à 2 etc.. donc la valeur de LIGNE(.xx) s'incrément de 1 chaque fois que la formule, descend d'une cellule
et donc le N° de ligne cherchée par EQUIV correspond successivement aux avaeurs de B 1,2,3 etc
Le champ n'ayant qu'une colonne, il nest pas utile de la spoécifiée dans le code INDEX
pour mieux comprendre vous pouvez essayer de tester c"s fomrules indépendemment et voir le résultat:
=NB.SI($A$2:A2;A2) sur la hauteur de la liste
=EQUIV(LIGNE(A1);B:B;0) sur la hauteur de la liste
Notez quer la colonne B peut être masquée, placée plus loin, ou même sur une autre feuille si besoin. Il suffit que les noms de feuilles soient intégrés dans les formules
formule dun nom de champ du menu (List) pour ajuster à la hauteur du champ édité
=DECALER(Feuil1!$C$2;;;NB.SI(Feuil1!$C$2:$C$18;"><"))
=DECALER(cellule départ;décalage ligne; décalage colonne; hauteur de champ; largeur de plage
part de la cellule C2
décalage de ligne pur le départ de plage ;; donc 0
décalage de colonne pour le départ de plage ;; donc 0
Hauteur de champ définie par:
NB.SI($C$2:$C$218;"><") qui compte le nombre de cellules où la formule rne renvoie pas ""
esdpèrant avoir été clair, ce n'est pas facile par écrit
crdlmnt
alors je passe le sujet en résolu
Bonne route
crdlmnt