Lier les Fonctions DECALER et RECHERCHEV pour créer un liste

Bonjour à Tous et à Toutes

Ceci est mon deuxième post sur le Forum et je félicite le site et les contributions faites par les utilisateurs.

Je fais de grands progrès en Excel (Version 2007) et en VBA grâce à ce Forum.

Mon problème est le suivant :

Je travail dans une société et je suis en train de faire un Excel (Version 2007 donc afin d'automatiser une grande partie du travail quotidien. Mon document recense des prestataires connus sur une feuille "PRESTAS" de ce document, qui viens en faite d'une requête SQL faite sur la base de données de notre site internet (que je gère également). Cette liste est triée par départements, puis par nom de prestataire (pour info : chaque nom de prestataire est unique).

Une autre feuille "BC" est notre bon de commande, dans lequel j'ai fais un menu déroulant en L2 avec la liste des départements. Rien de compliqué puisque c'est une liste finie.

Ce que je souhaite faire : Arriver à faire afficher une liste de prestataires en menu déroulant concernant le département sélectionné en BC!L2

Je ne pars pas de rien car je suis parvenu à cette formule :

=DECALER(RECHERCHEV(TEXTE(BC!L2;"00");PRESTAS!A:B;2;FAUX);0;0;NB.SI(PRESTAS!A:A;BC!L2);1)

J'utilise donc la fonction DECALER avec un RECHERCHEV sur la conversion en TEXTE de ma cellule BC!L2, en deuxième colonne de A:B afin de trouver le premier prestataire de la liste et un NB.SI pour définir le nombre de lignes de la sélection.

Mais cette formule ne veut pas se valider, ni en cellule, ni en validation de données.

L'assistant me donne bien des résultats pour toutes les variables de la formules.

Sauriez vous me dire ce qui cloche dans ma formule?

D'avance un grand Merci

Olivier DARNAT

Bonjour,

Aurais-tu l'opportinité de nous envoyer un petit fichier avec explications et résultats escomptés ?

A te relire.

Cdlt

Bonjour

Ci-joint un version "Light" du document afin de masquer les données confidentielles.

Le menu déroulant que je souhaite faire serait en BC!F3

Cordialement

Olivier DARNAT

84demo.xlsm (36.70 Ko)

Bonjour OlivierDARNAT ,Bonjour Jean-Eric

Une proposition :

Mettre les cellules Colonne A de la feuille Datas au format texte (c'est le plus simple)

Ensuite une plage nommée dynamique (Liste_Presta dans l'exemple)

=DECALER(PRESTAS!$A$1;EQUIV(BC!$L$2;PRESTAS!$A:$A;0)-1;1;NB.SI(PRESTAS!$A:$A;BC!$L$2);)

P.S Il me semble qu'il y a un problème dans les formules Début et Fin de mission (tu n'as pas fixé la cellule G12 (=SI(G12; .... Je pense qu'il faudrais =SI($G$12;....)

Cordialement

113classeur1.zip (16.85 Ko)

Bonjour Efgé

Parfais c'est exactement ce que je cherchais. Je l'ai testé sur mon document final et j'ai les liste comme prévu.

Je te remercie pour le coup de main, je vois que je n'étais pas loin de la solution.

Cordialement

Olivier DARNAT

PS : Par les formule de "Début" et "Fin" de mission, je suis tout a fait d'accord, je n'avais pas finalisé cette partie mais merci de le rappeler à mon bon souvenir.

Rechercher des sujets similaires à "lier fonctions decaler recherchev creer liste"