Signaler

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

Posez votre question Ma3ll3 8Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 Dernière intervention - Dernière réponse le 12 janv. 2017 à 18:30 par Vaucluse
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 
Utile
+0
plus moins
Bonjour

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

Cdlmnt
Donnez votre avis
Utile
+0
plus moins
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 8Messages 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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 8Messages 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 :/
Répondre
Raymond PENTIER 42156Messages postés lundi 13 août 2007Date d'inscription ContributeurStatut 28 mai 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 ...
Répondre
Ma3ll3 8Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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

Raymond PENTIER 42156Messages postés lundi 13 août 2007Date d'inscription ContributeurStatut 28 mai 2017 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 ...
Répondre
Ma3ll3 8Messages 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
Répondre
Vaucluse 19628Messages postés lundi 23 juillet 2007Date d'inscription ContributeurStatut 27 mai 2017 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
Répondre
Ma3ll3 8Messages postés lundi 19 décembre 2016Date d'inscription 12 janvier 2017 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
Répondre
Vaucluse 19628Messages postés lundi 23 juillet 2007Date d'inscription ContributeurStatut 27 mai 2017 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
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !