|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 8 ![]() |
Bonjour a tous,
Je dispose d'une base de donnée déjà constituée qui se partage en 2 onglets d'un même classeur (on ne peux pas changer cela). Je souhaite récupérer dans une colonne de la feuille principale les valeurs contenues dans une colonne de l'autre feuille. Cela équivaudrait à faire une "RechercheV" ou quelquechose d'approchant. Le problème est que la valeur de reference "a" (par exemple) de la feuille principale est présente plusieurs fois dans deuxième feuille, avec des valeurs cibles différentes. Or, RechercheV et autres INDEX ne rappatrient que la valeur cible de la 1ere valeur de reference trouvée dans la colonne... or cela correspond parfois à un champ nul. ... L'exemple Excel joint sera plus parlant je pense! |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : octobre 2009 Messages : 748 ![]() |
bonjour AtomX,
une possibilité serait une formule matricielle, Code :
=INDEX(ref;PETITE.VALEUR(SI(grappe=$E$2;LIGNE(INDIRECT("1:"&LIGNES(grappe))));LIGNE()-1)) copier la formule en C2 valider avec ctrl+maj+enter isabelle Dernière modification par Philippe JOCHMANS ; 14/03/2010 à 09h00. Motif: Ajout des balises codes : Sélection du code + # dans la barre d'outils de la fenêtre de rédaction des messages |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 8 ![]() |
Bonjour Isabelle,
Merci pour ta réponse mais... à quoi correspondent exactement "ref" et "grappe" ? Je suppose que ce sont des noms que tu as définis pour cette feuille, mais je ne sais pas à quelle operation ou selection ils font appel... |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 8 ![]() |
Sinon j'ai trouvé une fonction qui marche, mais que pour du numérique (dates par exemple), à valider par "Ctrl+Maj+Entrée" :
Code :
=MAX(('Base outil'!C$2:C$20=E2)*('Base outil'!A$2:A$20)) En tout cas, cette formule devrait me suffir. Si quelqu'un trouve une amelioration pour rapporter n'importe quel type de valeur, ça m'interesse |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 015 ![]() |
le rechercheV
cherche dans un tableau la valeur = dans la première colonne Rechechev(valeur dans la 1er colonne,de ce tableau, la colonne correspondante; vrai/faux) faux pour la valeur exact : pas de valeur approchée ta colonne 1 est celle qui devrait être en 3
__________________
Cordialement Daranc |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : octobre 2009 Messages : 748 ![]() |
bonjour AtomX,
ce sont les colonnes correspondantes que j'ai nommées ainsi, je n'ai plus ton fichier sous la main, mais voici un exemple pour nommer une plage de façon dynamique au menu Insertion/Nom/Définir Nom dans le classeur: ref Fait référence à: Code :
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A)) compte le nombre exact de valeur donc il faut utiliser une colonne ne contenant pas de vide pour nommer les plages, si la colonne A ne contient pas de vide mais que la colonne B en contient, il faut utiliser la colonne A dans la formule, Nom dans le classeur: grappe Fait référence à: Code :
=DECALER(Feuil1!$B$1;;;NBVAL(Feuil1!$A:$A)) Dernière modification par Philippe JOCHMANS ; 22/03/2010 à 05h46. Motif: Ajout des balises codes : Sélection du code + # dans la barre d'outils de la fenêtre de rédaction des messages |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : octobre 2009 Messages : 748 ![]() |
re bonjour AtomX,
j’oubliais de te dire qu'une plage nommer de façon dynamique n'appairait pas dans la « Zone Nom ». pour vérifier l’exactitude d’un Nom, sélectionne au menu, Édition, Atteindre, ou (raccourci: ctrl+t) Référence : grappe, et OK isabelle |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 8 ![]() |
Merci Sabzzz pour tes explications, j'ai résolu mon sujet selon tes explications
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com