Menu

Recherche V + Liste déroulante [Résolu/Fermé]

Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - 10 janv. 2017 à 15:17 - Dernière réponse : Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention
- 12 janv. 2017 à 18:30
Bonjour à tous,

J'ai créé un onglet comprenant d'un coté une liste d'article et de l'autre une liste déroulante avec le nom des fournisseurs, le prix pour chaque article (recherche V effectuée) et je souhaite maintenant que pour chaque article s'affiche l'écart de prix.
Cet écart se trouve dans différents onglets,
J'ai donc écrit la formule suivante :
=RechercheV(B7;INDIRECT("'"&$L$8&"'!B:DJ");7*(CODE(MAJUSCULE($E3$3))-63);FAUX)

B7 = ligne recherchée
$L$8 = nom du fichier dans lequel la recherche s'effectue
7* = ma recherche s'effectue toutes les 7 colonnes
$E$3 = nom du fournisseur à rechercher dans la liste déroulante et dans mes onglets

J'ai fait différent test et c'est à partir de " 7*(CODE(MAJUSCULE($E3$3))-63);FAUX)" que ma recherche ne fonctionne plus, je ne comprends pas ce qui cloche, pouvez-vous m'aider svp ?

Par avance merci
Afficher la suite 

16 réponses

ccm81 8326 Messages postés lundi 18 octobre 2010Date d'inscription 20 avril 2018 Dernière intervention - Modifié par ccm81 le 10/01/2017 à 17:29
0
Utile
Bonjour

Il y a déjà un problème ici > $E3$3 < $E$3 serait plus indiqué

Cdlmnt
Raymond PENTIER 45555 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 10 janv. 2017 à 18:34
0
Utile
1
Bonjour et bienvenue.

J'ai testé ta formule : elle fonctionne !
Envoie ton fichier pour qu'on te dise où tu as fait une erreur.
 1) Tu vas dans http://cjoint.com/ 
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".
=>Voir la fiche http://www.commentcamarche.net/faq/29493-utiliser-cjoint
Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - 11 janv. 2017 à 09:05
Bonjour Raymond,

Merci pour votre retour rapide :)

Voici le lien :

http://www.cjoint.com/c/GAlikcWoHZS

Mon problème se trouve dans l'onglet Relance, en effet la formule marche pour le premier fournisseur mais pas pour les autres fournisseurs se trouvant dans la liste déroulante.

Merci
Raymond PENTIER 45555 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 11 janv. 2017 à 13:58
0
Utile
3
Bonjour Ma3ll3.

Etant donné la complexité de ton fichier, il faudrait que tu indiques précisément ce qui ne va pas ...
Quand tu écris "ma recherche ne fonctionne plus, je ne comprends pas ce qui cloche", à quelle cellule de [Relance] fais-tu allusion ?
En effet les formules des colonnes E et F ont l'air de bien fonctionner, quel que soit le choix dans la liste déroulante !
Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - 11 janv. 2017 à 16:20
Bonjour Raymond,

Si vous allez dans l’onglet TC récap Matériaux, vous verrez que pour Collin Jurasienne, 2 écarts apparaissent (U17 et U18) et que malheureusement ils n'apparaissent pas dans mon onglet relance (F7 et F8) lorsque je choisis dans la liste déroulante Collin Jurasienne.

Je suppose qu'il doit manquer quelque chose dans ma formule qui empêche que les résultats apparaissent mais je ne sais pas quoi malheureusement :/
Raymond PENTIER 45555 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention > Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - 11 janv. 2017 à 18:18
Toujours pas d'accord avec toi :
Quand je sélectionne COLLIN JURASIENNE en E3 j'obtiens bien >45% en F7, ce qui est effectivement le contenu de la cellule AB17.
Pourquoi la colonne AB ?
Parce que c'est la 27ème colonne de ta matrice B:AK et que tu as bien demandé
7*(CODE(MAJUSCULE($E$3))-63)-1 dont le résultat est 27 !
Tu l'avais bien pressenti, c'est cette partie de ta formule qui est mal élaborée ...
Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention > Raymond PENTIER 45555 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 janv. 2017 à 10:40
Bonjour Raymond,

Oui elle est mal élaborée :(

Si vous connaissez une autre formule je suis preneuse ! J'ai 12 fichiers identiques à celui-ci que je vais devoir compléter et cela me faciliterais grandement le travail :)

Merci
Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - Modifié par Vaucluse le 12/01/2017 à 11:22
0
Utile
8
Bonjour à vous deux

je débarque un peu et en supposant que j'ai bien compris, mais ça reste à prouver, je propose en feuille Relance B7 cette formule
=INDEX(INDIRECT("'"&L8&"'!A5:AK300");EQUIV(B7;INDIRECT("'"&L8&"'!B5:B300");0);EQUIV($E$3;INDIRECT("'"&L8&"'!5:5");0)+4)

qui renvoie, pour COLLIN ..... en E3, la valeur de la colonne U5, c'est à dire dans tous les cas la 5° colonne après la cellule qui contient le titre du tableau (fusionnée ou non) dans la ligne 5

Mais c'est sous toutes réserves

Petite aparté: si vous nommer vos feuilles avec des underscore à la place des blancs, vous allègez l'écriture des codes INDIRECT, car les apostrophes ne sont plus nécessaires.
Ainsi
INDIRECT("'"&L8&"'!5:5") s'écrira INDIRECT(L8&"!5:5)
(ou alors éccrivez en L des noms complets avec les signes comme:
'TC Récap Matériaux'!
ce qui donnera
INDIRECT(L8&"5:5")
crdlmnt

La qualité de la réponse dépend surtout de la clarté de la question, merci!
Raymond PENTIER 45555 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention > Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 janv. 2017 à 14:36
C'est à moi de te remercier, puisque tu as su compléter ma réponse qui n'avait pas proposé de formule de remplacement ...
Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - 12 janv. 2017 à 17:48
Bonjour Vaucluse,

Merci beaucoup pour votre formule qui fonctionne à merveille, j'ai fais le test sur mes 4 onglets différents et aucun soucis !!!!! :D

Néanmoins j'aimerais comprendre !

Je comprend la logique de cette partie de la formule =INDEX(INDIRECT("'"&L8&"'!A5:AK300");EQUIV(B7;INDIRECT("'"&L8&"'!B5:B300");0);
mais pas cette partie et notamment la fin EQUIV($E$3;INDIRECT("'"&L8&"'!5:5");0)+4),
Pouvez-vous m'expliquer le 5:5 ainsi que le +4 svp ?

De plus, admettons que j'ai rajouté des fournisseurs dans mes onglets et étendu ces fournisseurs dans ma liste déroulante, il faut que je modifie la plage A5:AK300 mais y a t-il d'autres choses que je dois modifier ?

Merci

Cordialement
Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 janv. 2017 à 18:01
Bonsoir

construction de INDEX

=INDEX(plage;N° de ligne de la plage;N° de colonne dans la plage)

5:5 désigne la ligne 5 de chaque feuille, qui comporte les titres correspondants à ce que vous affichez en E3

La formule liée à cette ligne va chercher la position de la 1° colonne du tableau associée au titre en E3 et le +4 décale jusqu'à la colonne utile.

Si vous rajoutez des tableaux fournisseurs, il faut qu'ils soient de la même structure, bien sur, et il suffit de modifier dans la formule le AK avec le nom de la dernière colonne utile.. ou plus s'il faut ménager l'avenir, la limite n'a pas grande importance

Mais l'important est que la position dans chaque tableau de la colonne à ressortir soit calée correctement par rapport au titre.

Et encore une petit tuyau pour éviter les cellules fusionnées qui sont quelquefois des sources d'embêtement
  • quand vous placez votre titre de tableau (nom fournisseur) placez le dans la ligne 5, 1° cellule à gauche du tableau.
  • sélectionnez les cellules de ligne 5 sur la largeur du tableau
  • format de cellule / alignement / horizontal et:
  • "centrer sur plusieurs colonnes"

Le titre se centre correctement
crdlmnt
Ma3ll3 8 Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention > Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 janv. 2017 à 18:17
C'est super, je viens d'essayer sur une autre fichier qui comporte beaucoup plus de fournisseurs et cela fonctionne sans problème !

Merci pour le tuyau j'en ferais bonne usage

Milles mercis, vous m'avez été d'un très grand secours !!!

:D : D :D

Bonne soirée

Cordialement
Vaucluse 21861 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 12 janv. 2017 à 18:30
Bonne soirée aussi
Si tout est OK, merci de pointer le fil en résolu (en haut sous le titre)
Revenez quand vous voulez
Bonne route
Crdlmnt