Liste deroulante
Résolu/Fermé
tumankisial
Messages postés
27
Date d'inscription
mardi 17 mai 2016
Statut
Membre
Dernière intervention
10 juin 2016
-
18 mai 2016 à 09:05
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 26 mai 2016 à 11:05
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 26 mai 2016 à 11:05
A voir également:
- Liste deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Supprimer une liste déroulante excel - Forum Word
- Supprimer liste déroulante excel - Forum Excel
1 réponse
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
18 mai 2016 à 09:37
18 mai 2016 à 09:37
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
18 mai 2016 à 10:04
Mais merci quand même pour cette première réponse
Modifié par Vaucluse le 18/05/2016 à 11:35
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
26 mai 2016 à 09:38
26 mai 2016 à 11:05
alors je passe le sujet en résolu
Bonne route
crdlmnt