Menu déroulent
Résolu/Fermé
baloubaloubalou
Messages postés
19
Date d'inscription
mercredi 17 octobre 2012
Statut
Membre
Dernière intervention
23 octobre 2012
-
Modifié par baloubaloubalou le 18/10/2012 à 12:00
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 19 oct. 2012 à 11:03
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 19 oct. 2012 à 11:03
A voir également:
- Menu déroulent
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
- Menu demarrer windows 10 - Guide
2 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 416
18 oct. 2012 à 14:07
18 oct. 2012 à 14:07
Bonjour
un exemple de solution ici, avec une liste déroulante aussi pour remplir le tableau de liste, car les erreurs de frappes interdisent une recherche correct.
Vous avez par exemple dans liste des >Thriller avec un blanc derrière et d'autre sans(corrigé sur le modèle joint)
Cette solution évitera ce risque.
https://www.cjoint.com/?BJsofUQjvMC
crdlmnt
un exemple de solution ici, avec une liste déroulante aussi pour remplir le tableau de liste, car les erreurs de frappes interdisent une recherche correct.
Vous avez par exemple dans liste des >Thriller avec un blanc derrière et d'autre sans(corrigé sur le modèle joint)
Cette solution évitera ce risque.
https://www.cjoint.com/?BJsofUQjvMC
crdlmnt
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
19 oct. 2012 à 11:03
19 oct. 2012 à 11:03
Bonjour,
C'est super sympa de créer des doublons et de laisser les gens chercher pour rien, et de ne pas voir les autres proposition faites.
Voir ici
C'est irrespectueux et interdit par la charte du forum (que tu pourrais lire)
Je m'apprêtais à te proposer une solution par macro, je vais donc m'abstenir.
eric
C'est super sympa de créer des doublons et de laisser les gens chercher pour rien, et de ne pas voir les autres proposition faites.
Voir ici
C'est irrespectueux et interdit par la charte du forum (que tu pourrais lire)
Je m'apprêtais à te proposer une solution par macro, je vais donc m'abstenir.
eric
18 oct. 2012 à 14:45
Vive le Vaucluse.
Merci encor
18 oct. 2012 à 15:34
pourriez vous me donner plus d'explication s'il vous plait
=SI(LIGNE()-8>MAX(liste!$D:$D);"";INDEX(liste!$A:$C;EQUIV(LIGNE()-8;liste!$D:$D;0);2))
=SI(B2=choix!$B$6;MAX($D$1:D1)+1;"")
18 oct. 2012 à 16:48
j'aimerai bien comprendre la syntaxe comme le demande Baloubaloubalou,c'est vrai je peux la prendre mais sans comprendre, peut être sans pouvoir trop vous demandez .
pourriez-vous nous faire un petit détail sur cette syntaxe, je sais que ce pas facile mais je crois que vous y arriverez vue votre compétence, copier c'est bon mais comprendre c'est encore mieux.
Une fois de plus merci de votre aide
Modifié par Vaucluse le 18/10/2012 à 17:23
La formule de détection
=SI(B2=choix!$B$6;MAX($D$1:D1)+1;"")
La condition demande, si la cellule B2 est égale à la cellule de choix B6, de relever le maxi du champ au dessus de la ligne où elle se trouve et d'y rajouter 1
si la condition n'est pas remplie, renvoie ""
ainsi on incrémente dans la colonne D de 1 chaque fois que dans la colonne B, la formule trouve la valeur choix!B6
à noter pour cela qu'"en D2 le 1° D1 est bloqué avec $D$1 et pas le second de façon à ce que le champ suive la positon de la formule
en D3> $D$1:D2 en D4> $D$1:D3 etc.....
La formule de recherche
=SI(LIGNE()-8>MAX(liste!$D:$D);"";INDEX(liste!$A:$C;EQUIV(LIGNE()-8;liste!$D:$D;0);2))
Principe de base:
INDEX(champ; ligne; colonne)
renvoie la valeur trouvée dans le champ ,à l'intersection du N° de ligne et du N° de colonne du champ, la ligne 1 et la colonne 1 étant celle de la première cellule en haut à gauche du champ.
la première partie du code évite le# N/A si la ligne de recherche n'existe pas
LIGNE() renvoie le N° de ligne (de la feuille) où se trouve la formule, donc Ligne()-8 sur ligne 9 est égal à 1, à 2 sur ligne()10 etc...
Dans cette première partie , si le n° obtenu par ce code est supérieur au maximum de la colonne de codage, la formule ne renvoie rien (sans ce code elle renvoie #N/A)
Si non c'est le code INDEX qui s'applique avec:
INDEX($A:$C;
$A:$C est le champ complet des données incluant colonne A,B,C à partir de la ligne 1 de la feuille
EQUIV(LIGNE()-8;liste!$D:$D;0)
ce code ressort la position dans la colonne D de la valeur définie par LIGNE()-8, et donc la ligne du champ A:C où se trouve la valeur de 1,2,3 etc...
Le 0 à la fin de ce code est une valeur excel qui précise que le code EDIT ne doit ressortir que des valeurs exactes. (sinon prend la ,plus proche inférieure dans une colonne classée)
;1)) ou;2)) ou 3))
selon la position de la valeur à ressortir, le ;1 ou ;2 ou;3 de la fin de formule indique dans quelle colonne du champ se trouve la valeur à ressortir
espérant avoir été clair ce qui n'est pas facile.
cordialement
18 oct. 2012 à 18:03
t'es un ange
merci et à la prochaine