Excel recherche autre classeur
OkComputer
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Excel recherche autre classeur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
13 réponses
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.
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.
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
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
Sub ok()
Workbooks("basefixestoresprealablesauxreferences").Sheets("Feuil1").Range("F2").Value = 12700200
Workbooks("gamstor").Sheets("COMODITY PA").Range("A" & 1).Value
End Sub
macro hasardeuse
Workbooks("basefixestoresprealablesauxreferences").Sheets("Feuil1").Range("F2").Value = 12700200
Workbooks("gamstor").Sheets("COMODITY PA").Range("A" & 1).Value
End Sub
macro hasardeuse
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
Du très bon boulot je vais tenter de méditer une juste méthode d'application de cette formule assez redoutable.
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.
Je ne trouve pas à première vue de solution.
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?
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?
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
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
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
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
Peut-être la mise en place d'un tableau est elle plus efficace.
IL me semble que ça peut simplifier les choses en fait.
IL me semble que ça peut simplifier les choses en fait.
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
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
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?
Çà 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?