Excel recherche autre classeur

OkComputer -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour j'ai une recherche excel à faire depuis le classeur "références" contenant une liste de références dans le classeur "produits" contenant un tableau avec deux colonnes référence et prix.

Je dois afficher le prix dans le premier classeur. Savez vous quelle est la formule ?

Est-il obligatoire que la valeur recherchée sit située en colonne 1 de la matrice ?

Thx
A voir également:

13 réponses

Raymond PENTIER Messages postés 58993 Date d'inscription   Statut Contributeur Dernière intervention   17 360
 
Bonjour.

Eléments de réponse ...

1) Il faut que les 2 classeurs soient ouverts simultanément.
2) N'est-il pas possible de mettre les 2 tableaux dans un même classeur ?
3) Quand on utilise la fonction RECHERCHEV, oui, "Valeur cherchée" doit se trouver dans la première colonne de la matrice.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour
si vous utilisez la formule recherche, oui c'est obligatoire d'avoir la valeur cherchée dans la première colonne. Toutefois il y a d'autres solutions comme celle-ci par exemple:
=INDEX(CHAMP;EQUIV(Valeur cherchée; colonne de recherche ; 0); N) de colonne à éditer dans le champ)
il faut simplement que les 1° lignes de CHAMP et colonne de recherche coïncident
pour l'exemple, rechercher la valeur de X1 dans la colonne D d'un champ B2:F100 et ressortir la valeur de E correspondante:
=INDEX($B$2:$F$100;EQUIV(X1;$D$2:$D$100;0);4)
ou:
$B$2:$F$100 est le champ complet où se trouve la valeur à éditer
X1 est la valeur à trouver
$D$2:$D$100 est la colonne où se trouve la valeur à chercher
0 est un code excel pour définir le type de valeur à chercher pour le code EDIT
4 est le rang de la colonne à éditer dans le champ B2:F100

a noter que la colonne de recherche du code EQUIV n'est pas obligatoirement d, considérée comme la ligne 1 de la colonne par le code EQUIV, corresponde à la première ligne du champ indiqué dans le code INDEX....
ceci même si les N° de ligne CHAMP et Colonne ne sont pas les mêmes: 1° ligne de Colonne correspond toujours à 1° ligne de champ quelque soit les N° de ligne des règles.



Crdlmnt

0
OkComputer
 
Sub ok()
Workbooks("basefixestoresprealablesauxreferences").Sheets("Feuil1").Range("F2").Value = 12700200
Workbooks("gamstor").Sheets("COMODITY PA").Range("A" & 1).Value
End Sub


macro hasardeuse
0
OkComputer
 
je vous remercie dans une deuxième temps est il possible de faire ceci :

j'ai 3 références disponibles en 3 dimensions differentes

4 autres correspondant à 4 longueurs differentes.

Références à deux chiffres : exemple 2D70 signifie : 2 dimensions, 7 mètres.

J'ai un tableau faisant correspondre références et mesures.
Excel peut-il me sortir les 12 combinaisons de références possibles sans que j'aie à les écrire une à une ?

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Re-bonjour

une solution selon modèle ci joint... aussi compliquée que faire le tableau en manuel, sauf si les codes sont des variables.
Si vos tableaux de données d'entrée ont une autre configuration et si vous avez du mal à adapter la formule, revenez nous voir avec des précisions sur l'organisation de vos données.
http://www.cijoint.fr/cjlink.php?file=cj201004/cijkkk0pv5.xls

Crdlmnt
0
OkComputer
 
Du très bon boulot je vais tenter de méditer une juste méthode d'application de cette formule assez redoutable.
0
OkComputer
 
Il reste une problème; si on remplace 3 ET 4 par 6 ET 9, il semblerait que l'arrangement précédent fonctionnait car le reste de la division de douze par 3 est bien 3. Hors ce n'est plus le cas pour six et neuf par rapport à cinquante-quatre.

Je ne trouve pas à première vue de solution.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjkour
comprend pas ça:

car le reste de la division de douze par 3 est bien 3. ???

le reste de la division de 12 par 3 est 0, non?
c'est le but de la variante:
si(MOD(Cell;3)=0;3..... trouver 3 là où la formule MOD trouve 0 .
ça devrait marcher idem pour 54/3 ou par 6 pour par 9
passer sur cijoint un modèle type de ce que vous voulez faire, même avec des infos bidon mais organisées selon vos données. Il devrait y avoir une solution.
le but de la manoeuvre: obtenir le reste de la division quelque soit le multiple, jusqu'à diviseur -1 et remplacer le 0 obtenu quand le multiple est exact, par la valeur du diviseur:

=SI(MOD(LIGNE();6)=0;6;MOD(LIGNE();6))
vous donnera sur toute la hauteur tirée:
1;2;3;4;5;et 6 à la place 0
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
OkComputer
 
Sur le même modèle que la formule d'hier où j'avais respectivement 3 et 4 références j'en ai désormais 9 et 6, reprenant les colonnes A et B.

Je veux conserver les 9 références en A en première position dans la nouvelles cellule, mon réflexe a été :

=INDIRECT("A"&SI(MOD(LIGNE();9)=0;9;MOD(LIGNE();9)))&INDIRECT("B"&SI(MOD(LIGNE();6)=0;6;MOD(LIGNE();6)))

Mais une subtilité m'échappe
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Re
je ne vois pas la fin de votre formule dans votre message mais pour un tableau de 54 avec 9 x 6, voila ce que ça devrait donner:
http://www.cijoint.fr/cjlink.php?file=cj201004/cijoxfhSXK.xls
crdlmnt
0
OkComputer
 
Cette formule me donne un résultat de 18 combinaisons réitéré 3 fois.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
effectivement ça m'a échappé on cherche à compléter.. a bientôt
0
OkComputer
 
Peut-être la mise en place d'un tableau est elle plus efficace.

IL me semble que ça peut simplifier les choses en fait.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
C'est à vous de voir mais à mon avis la solution proposée dans le message ici
https://forums.commentcamarche.net/forum/affich-17459141-excel-recherche-autre-classeur#15
est assez simple, permet toutes les évolutions jusqu'à concurrence de la hauteur tirée pour la formule et classe correctement les éditions selon l'ordre de la colonne B
Bonne soirée
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Re re

Çà ne se simplifie pas, mais on y arrive... sous réserve à valider dans tous les cas de figure
http://www.cijoint.fr/cjlink.php?file=cj201004/cijqlLId7I.xls
attention , le décalage nécessaire de la 1° ligne dans la colonne résultat décale d'un rang la liste des noms, mais ils y sont bien tous.

le tiret est là pour faire joli

Bon courage
Crdlmnt

PS: sous la condition qu'il n'y ait que la liste de noms en colonne AA vous pouvez remplacer le 9 dans la formule de l'édition, à chaque poste, soit trois par:
NBVAL(A:A)
sauf encore une nouvelle erreur grossière de ma part , la formule va s'ajuster toute seule au nombre de code en A et c'est la hauteur sur laquelle la formule est tirée qui ajuste le nombre de code en B.
(après le dernier code B la formule n'affiche plus que les noms en A .)

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Tenez en complément c'est mon jour de bonté :-)
celui ci n'affiche que ce qu'il édite et prend autant de code que vous souhaitez
http://www.cijoint.fr/cjlink.php?file=cj201004/cijQEMV9p4.xls
testé avec 24 noms et 20 codes
Amusez vous bien
bien cordialement
0