Modifier les plages de recherche en fonction du resultat d'une cellule

Bonjour,

je souhaite determiner le nom de la personne concernée à partir

- d'un poste donné (ex "Acc")

- d'un jour donné (ex "08")

- et d'un planning mensuel déjà établi

Une cellule est prévu pour indiquer le jour concerné (liste déroulante)

A partir de là j'ai essayé:

- avec la fonction rechercheV mais je ne parviens pas à determiner la table matrice de manière dynamique: il faut que la premiere colonne corresponde au jour donné qui est variable ==> echec pour moi

- avec les fonction index/equiv/décaler je ne m'en sors pas non plus.

Quelqu'un pourrait il me proposer une piste sans VBA afin que je puisse comprendre et reproduire la solution? (le classeur ci joint est simplifié)

Si ce n'est pas clair comme explication n'hésitez pas a me demander des precisions.

Merci de votre aide.

Bonjour

=INDEX($F$19:$F$22;EQUIV(B19;DECALER($F$19:$F$22;;$C$3);0);1)

bonjour 78chris ,

J'ai aimé votre formule pour indiquer la recherche d'une variable dans le tableau, maintenant j'essaie d'ajuster votre formule pour rechercher avec trois variables .

dans le fichier joint il y a deux tableaux, un pour le mois d'août et l'autre pour le mois de septembre .

Je voudrais ajuster votre formule pour rechercher en utilisant les variables : Jour , Mois , Année (dans la structure des tableaux présentés) .

Si vous avez des idées pour vous aider dans cette tâche, votre idée sera la bienvenue .

câlins .

RE

Utiliser des tableaux structurés

78chris , merci pour l'écoute , a bien fonctionné .

Bonjour,

Merci chris78 pour la réponse rapide

La mienne est plus longue. J’ai testé la formule et je l’ai décomposer pour la comprendre et la réutiliser.
merci pour votre aide.

Bonjour,

j'aimerai comprendre une formule de chris78
sur la solution proposé à star.

Je ne comprends pas comment fonctionne la fonction indirect.

je pense comprendre que l'idée de chris78 est de retranscrire le nom de la plage concernée mais j'ai lu ailleurs (tutoriels) qu'une formule du type = iNDIRECT("T"&"A1") indiquait la reference d'une cellule à la colonne "T" et dont le numéro de ligne est defini par la cellule A1.

Est ce une erreur?

De plus je n'arrive pas à transposer l'exemple fourni par chris78

(tableau ci joint)

quelqu'un peut il me montrer mon erreur?

Merci.

Bonsoir à tous,

Une proposition d'explications.

Cordialement.

Bonsoir Zebulon2

Merci de ton aide.

Si je comprends bien cette utilisation de indirect:

Les chaînes de caractères entre guillemets sont recopié à l’identique dans la cellule contenant la formule

Concernant les références de cellules pour cette fonction indirect, c’est le contenu des cellules référencées qui est retranscrit

Le caractère & permet de les juxtaposer

(Du coup ce que j’ai lu sur la construction indiect semble erroné)

Mais si je comprends le raisonnement pour une formule du type:

INDIRECT("t_"&$E$4&"[01_2020]")

Qui pourrait se traduire par ‘#retranscrire par:
t_ et le « contenu de la cellule E4 » et [01_2020]#

je ne comprends pas comment interpréter l’autre formule:
INDIRECT("t_"&$E$4&"["&$D$4&"]")
quel rôle ont les crochets et les & entourant $D$4?

(je n’ai pas trouvé d’explication de la fonction indirecte qui reprenait ce type de syntaxe mais je suis preneur si quelqu’un en a connaissance)

merci,
Gaétan.

Bonjour à tous

Les crochets sont propres aux tableaux structurés qui n'utilisent pas les même références de cellule ou plage que les autres.

re,

Tu as la réponse dans le fichier en H18.

La syntaxe des tableaux structurés est : le nom du tableau t_Janv20 et entre crochets l'intitulé de la colonne concernée soit [5] dans ton cas.

Ce qui nous donne t_Janv_20[5]

Bonne soirée

Merci chris78 et zebulon2 pour vos explications.

Bonne soirée.

Bonjour, je reviens après avoir fais la lecture des liens.

Je ne parviens pas a mes fins car je pense que j'ai une erreur de syntaxe.

Chris78, tu parle d'une solution en H18 dans le fichier mais j e ne trouve pas.

Si j'ai bien compris la syntaxe correcte est du type :

=INDEX(INDIRECT("t_"&$D$2&"[Agents]");EQUIV(A2;INDIRECT("t_"&$D$2&"["&$C$2&"]");0))

Mais quand j'essaye de la transposer je n'y arrive pas.

Pouvez vous m'indiquer ou est mon erreur?

Je remets un fichier en lien, qui se rapproche de "ma" réalité. un problème supplémentaire est que les colonnes sont fusionnée (il s'agit d'une feuille exportée à partir d'un logiciel) mais je pense que ce problème devrait être résolu avec une formule du genre ...["&($C$2*2)-1)&"]

Merci de votre aide.

Bonsoir,

Pour que cela fonctionne, il faut que le tableau recherché dans la formule existe de même pour la colonne et la valeur cherchée.

tableau t_Janv.21 et non Tableau5, colonne Agents et non Nom

AffectationValeurs présentes
Acc1CA
Acc210
Acc3- -
Obs10bst
Obs27h30
Obs37h30+
Ext17h3O
Ext28h
Ext38h00
8hOO
9H00
Acc
Endo
Ext
FORM
S/A
S12B
S12R
S13R

Mets ton fichier à jour, et tout devrait fonctionner.

Cordialement

Bonjour,

Merci pour ces explications. Cela fonctionne effectivement beaucoup mieux!

Je poursuis ma construction mais je bite sur d’autre problème comme le fait de relever tous les noms des agents ayant le même horaire.
je pense qu’il s’agit d’un autre sujet, du coup je vais clore celui ci et en ouvrir un autre si je ne trouve pas de solutions.
merci à tous pour les messages d’aide

Rechercher des sujets similaires à "modifier plages recherche fonction resultat"