Recherche croisée

Résolu
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -  
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai besoin d'aide pour établir une formule :

Je cherche à faire une recherche croisée, j'ai sur un onglet caché un tableau à double entrée (Nom en ligne sur la première ligne, Date dans la première colonne, score à l'intersection des deux)

Sur un autre onglet l'utilisateur choisi dans une cellule un nom, dans une autre cellule une date et je souhaiterais que le score de cette personne à cette date s'affiche.

J'ai parcouru un peu le forum, j'ai trouvé des choses concernant la fonction INDEX mais je n'arrive pas à l'utiliser, si quelqu'un se sent d'âme à m'aider...

Merci d'avance.

4 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
=INDEX(champ score;EQUIV(Cellnom&cell date; Champ nom;0))

formule matricielle à entrer avec la touche enter en maintenant ctrl et shift enfoncées.
(elle se retrouve entre accolade dans la barre de formule)
crdlmnt

ou encore:
=SOMMEPROD((Champ nom=cell nom)*(Champ date=Cell date)*(champ score))
à entrer simplement

crdlmnt
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,

Merci pour ton aide, cependant peux-tu m'expliquer ce que tu appelles "Champ score" ou "Cell Date" par exemple stp ?
Ou alors, si tu as un fichier exemple je suis preneur.

Merci d'avance.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
Il s'agissait en fait d'évoquer le fait qu'il fallait placer les adresses de champ.
Mais voila un modèle plus parlant
base de données en feuille SCORE et résultats en feuille EDIT
https://www.cjoint.com/?DAnkQ5ESPd6

revenez si besoin de complémen t
crdlmnt
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Un exemple de solution
https://www.cjoint.com/?DAnkTuKfVBe

A+
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
Merci à vous deux pour vos exemples.

J'ai beau essayer de la reproduire dans tous les sens, impossible.
Que je valide avec Ctrl + Shift ou pas, rien n'y fait je n'arrive pas à obtenir ce que je veux.

Une question, la formule index peut-elle utiliser comme référence/critère une cellule avec une formule, ou doit elle impérativement utiliser des cellules de "saisie" ? C'est la seule porte de sortie que je vois pour comprendre...

Si vous avez 5 minutes à perdre pour m'expliquer d'où vient mon erreur, voici une copie simplifié et rendu anonyme de mon fichier : https://www.cjoint.com/?0AnmbnncG0S

Pour info, je cherche à mettre une formule INDEX dans toutes les cellules rouges.

Merci d'avance.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
ctrl shift n' a rien à voir avec cette formule qui n'est pas matricielle
Le problème que je détecte (du moins je crois) est que index se base sur le principe:
INDEX(tableau; N° de ligne; N° de colonne)
Alors que vous avez placé une formule qui cherche d'abord le nom dans les entêtes de colonne et ensuite la date dans les entêtes de lignes.
Inversez et voyez si ça convient mieux.
Sinon revenez, mais soyez plus précis dans ce que vous souhaitez car remplir ds cellules rouges comme celle de Commentaire ne va pas être facile s'il n'y a rien de correspondant dans la base de données
Crdlmnt
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
%*$£!
C'est tout ce que je trouve à dire....

Malgré plusieurs essais, dans un sens comme dans l'autre, rien n'y fait je ne parvient à afficher que les lignes "sources" c'est à dire celle avec les noms, et les numéros de semaine.

C'est à n'y rien comprend, dois-je exclure ces lignes lorsque je nomme mon tableau ?

En tout cas, j'ai essayé de revoir un peu mon fichier pour y mettre le maximum d'explication : https://www.cjoint.com/?0AnojISKkqa

Merci d'avance.
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

J'ai renseigné la partie "Ma visite de cette semaine"
https://www.cjoint.com/?DAnoL4CClge
Fais attention à la définition des plages nommées.

A+
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
Ahhhhh !

Je suis stupide...
Je n'ai pas pensé qu'il ne fallait pas nommer qu'une fois les 3 plages, mais bien 3 plages différentes afin d'indiquer où rechercher...
Et, je viens d'apprendre qu'il faut exclure les lignes "sources" lors de la définition des plages.

Enfin bref, mon fichier fonctionne, et j'ai appris pas mal de choses... c'est le plus important
Alors, merci beaucoup à vous deux pour votre aide.

Je vous souhaite une bonne journée.
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
Je me permet de revenir à la charge pour un sujet qui se rapproche.

Je ne sais pas si l'on peut m'apporter une réponse ici où s'il vaut mieux que je rouvre un sujet dans la partie VBA, quoi qu'il en soit, ça ne me coûte rien d'essayer.

Je cherche cette fis ci à faire l'inverse, c'est à dire à choisir une cellule en fonction d'une ligne et d'une colonne pour écrire dedans via VBA.

Je m'explique, les utilisateurs saisissent leurs commentaires dans un Userform (via le bouton en sur la feuille), et j'aimerais que lors de la validation, ce commentaire soit transposé dans la pages infos, dans la cellules correspondantes --> En fonction du numéro de semaine sélectionné en cours, et de la personne identifiée.

J'espère avoir été clair, merci d'avance :)
0