recherche verticale deux classeurs dans plusieurs feuille

sum01

XLDnaute Occasionnel
Bonjour,
Je cherche une solution à l'aide la fonction INDIRECT pour renseigner dans un tableau (classeur Dash) avec les données qui proviennent d'un autre classeur (Data) mais dans plusieurs feuilles en fonction des années. Je parviens à utiliser la fonction iNDireCT uniquement lorsque toutes les données se trouvent dans un même classeur.
Dans ce cas, mes sources se trouvent dans un autre classeur que je dois reprendre dans "Dash" lorsque je modifie mon filtre 2010, 2011, 2013, etc...
Merci d'avance pour votre aide et excellent wk
 

Pièces jointes

  • Data.xlsx
    38.3 KB · Affichages: 40
  • Dash.xlsx
    28.5 KB · Affichages: 49
  • Data.xlsx
    38.3 KB · Affichages: 48
  • Dash.xlsx
    28.5 KB · Affichages: 47
  • Data.xlsx
    38.3 KB · Affichages: 51
  • Dash.xlsx
    28.5 KB · Affichages: 57

sum01

XLDnaute Occasionnel
Re : recherche verticale deux classeurs dans plusieurs feuille

Bonjour,
voilà la formule que je tente d'appliquer mais sans succès
=RECHERCHEV(A6;INDIRECT("'[Data.xlsx]2012'!$B$6"&NB(EQUIV(A3;'[Data.xlsx]2010'!$A$6:$N$11;0))+NB(EQUIV(A3;'[Data.xlsx]2011'!$A$6:$N$11;0))*2+NB(EQUIV(A3;'[Data.xlsx]2012'!$A$6:$N$11))*3+NB(EQUIV(A3;'[Data.xlsx]2013'!$A$6:$N$11;0))*4&"!A6:N11");2;FAUX)
Il y a bien un paramètre ou une fonction qui m'échappe
Avez-vous peut-être une piste pour m'aider dans la résolution de ce problème ?
Très bon dimanche
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : recherche verticale deux classeurs dans plusieurs feuille

Bonjour sum01,

Un essai avec la formule:
Code:
=DECALER(INDIRECT("'[Data.xlsx]"&$A$3&"'!$A$5:$N$11");+EQUIV($A6;INDIRECT("'[Data.xlsx]"&$A$3&"'!$A$6:$a$11");0);-1+COLONNES($A$6:B6);1;1)
 

Pièces jointes

  • Dash.xlsx
    13 KB · Affichages: 40
  • Data.xlsx
    14.4 KB · Affichages: 38
  • Dash.xlsx
    13 KB · Affichages: 37
  • Data.xlsx
    14.4 KB · Affichages: 33
  • Dash.xlsx
    13 KB · Affichages: 32
  • Data.xlsx
    14.4 KB · Affichages: 40

sum01

XLDnaute Occasionnel
Re : recherche verticale deux classeurs dans plusieurs feuille

Bonjour Mapomme,

C'est exactement le résultat attendu.
Si vous avez encore un peu de temps à consacrer à ce problème.
Je ne comprend pas très bien le paramètre 0 dans la formule EQUIV ainsi la fonction colonnes
Encore merci infiniment pour votre aide précieuse
Excellent WK
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : recherche verticale deux classeurs dans plusieurs feuille

Re,

A. Paramètre 0 de Equiv(....) -> voir l'aide d'Excel (qui est bien faite) sur cette fonction. Extrait de l'aide d'Excel:
EQUIV(valeur_cherchée, matrice_recherche, [type])

La syntaxe de la fonction EQUIV contient les arguments (argument : valeur qui fournit des informations à une action, un événement, une méthode, une propriété, une fonction ou une procédure.) suivants :

  • valeur_cherchée Obligatoire. Valeur dont vous voulez l’équivalent dans l’argument matrice_recherche. Par exemple, lorsque vous cherchez le numéro de téléphone d’une personne dans un annuaire, vous utilisez le nom de la personne comme valeur de recherche alors que la valeur que vous voulez obtenir est son numéro de téléphone. L’argument valeur_cherchée peut être une valeur (nombre, texte ou valeur logique) ou une référence de cellule à un nombre, à du texte ou à une valeur logique.
  • matrice_recherche Obligatoire. Plage de cellules dans laquelle s’effectue la recherche.
  • type Facultatif. Nombre -1, 0 ou 1. L’argument type indique comment Excel compare l’argument valeur_cherchée aux valeurs de l’argument matrice_recherche. Valeur par défaut de cet argument : 1. Le tableau suivant décrit comment la fonction recherche les valeurs en fonction du paramètre de l’argument type.
    typeComportement
    1 ou omisLa fonction EQUIV recherche la valeur la plus élevée qui est inférieure ou égale à celle de l’argument valeur_cherchée. Les valeurs de l’argument matrice_recherche doivent être placées en ordre croissant, par exemple : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.
    0La fonction EQUIV recherche la première valeur exactement équivalente à celle de l’argument valeur_cherchée. Les valeurs de l’argument matrice_recherche peuvent être placées dans un ordre quelconque.
    -1La fonction EQUIV recherche la plus petite valeur qui est supérieure ou égale à celle de l’argument valeur_cherchée. Les valeurs de l’argument matrice_recherche doivent être placées en ordre décroissant, par exemple : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.
B. Colonnes(...) permet de renvoyer de renvoyer successivement la valeur 2 puis 3 puis 4 puis .... au fur et à mesure qu'on se déplace de la colonne B vers la colonne N.

C. La formule initiale en B6 peut d’ailleurs être simplifiée et écourtée (pour être ensuite recopiée vers la droite et vers le bas):
Code:
=DECALER(INDIRECT("'[Data.xlsx]"&$A$3&"'!$A$5");EQUIV($A6;INDIRECT("'[Data.xlsx]"&$A$3&"'!$A$6:$a$11");0);COLONNES($A:A))
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 757
Messages
2 091 778
Membres
105 072
dernier inscrit
Pechon