|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Bonjour,
J'ai de la difficulté à créer la formule qui réussira à faire afficher l'information dont j'ai besoin. Voici : un fichier, 2 feuilles sur la 1ère feuille, l'écriture de journal que je veux obtenir, 1ère colonne la description du compte recherché, 2e colonne, le centre de profit à saisir, 3e colonne, le numéro de compte à saisir sur la 2e feuille, les données, 1ère colonne, des centres de profit, 2e colonne, des numéros de compte, 3e colonne les descriptions de compte.Je veux que, après avoir saisi le centre de profit dans la 2e colonne de l'écriture (1ère feuille) ainsi que le numéro de compte dans la 3e colonne, la description du compte - qui correspond à ces 2 critères - s'affiche correctement. Une première difficulté provient du fait qu'il faut tenir compte de 2 critères pour obtenir la bonne description. Mais, la difficulté majeure provient du fait que certains numéros de compte (2e colonne de la feuille de données) se répètent dans la liste ; ils ne se distinguent que par le centre de profit qui est différent. Vraiment pas facile. ![]() Toute aide sera sincèrement appréciée. Merci. |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Bonjour,
Dans ton cas, tu peux utiliser les formules Index + Equiv (formule matricielle) Une bonne documentation ici http://silkyroad.developpez.com/excel/indexequiv/#LIV
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Citation:
Il faut que j'obtienne, dans la 1ère colonne de l'écriture, l'information qui tient compte à la fois de la saisie dans la 2e colonne et de la saisie dans la 3e colonne, toutes données étant stockées dans la 2e feuille. Merci encore. |
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Si dessous un exemple.
On souhaite avoir en retour la valeur se trouvant dans la feuilSource colonne A si la données se trouvant en colonne B est égal à B2 de la FeuilDest et que la donnée de la colonne C est égal à C2 de la feuilDest Tu valides la formule par CTRL + MAJ + ENTREE car formule matricielle Code :
=Index(FeuilSource!$A$1:$A$100;equiv(1;(FeuilSource!$B$1:$B$100=FeuilDest!B2)*(FeuilSource!$C$1:$C$100=FeuilDest!C2);0))
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
Merci Jérôme pour ton aide.
Malheureusement, je n'obtiens pas le résultat souhaité. Voici ce que j'ai entré dans la cellule où je veux obtenir une description : INDEX ('Comptes GL'!A2:C446;EQUIV(3;('Comptes GL'!A2:A446='Écriture'!F7)*('Comptes GL'!B1:B446;'Écriture'G7);0)) sachant que : Comptes GL est la feuille qui contient les données sur la plage A2 à C446 (la matrice), 3 est le numéro de la colonne contenant la description que je veux obtenir, laquelle se trouve naturellement sur la feuille Comptes GL, Écriture est le nom de la feuille où je veux voir afficher les informations, A est la colonne contenant la donnée qui devra correspondre à celle saisie dans la feuille Écriture, colonne F, B est la colonne contenant la donnée qui devra correspondre à celle saisie dans la feuille Écriture, colonne G. Je sais que dans la formule que tu m'as fournie, après EQUIV tu as indiqué le chiffre 1 mais je ne suis pas certaine de savoir à quoi cela fait référence ; c'est pour ça que j'ai mis 3 qui est le numéro de colonne contenant l'information que je cherche à obtenir. J'ai fait toutes sortes de tentatives. Rien ne réussit. Je commence à désespérer ... P.S. : J'ajoute que je ne comprends pas l'utilisation de * dans la formule puisque je ne cherche pas à faire un calcul mais à importer une donnée. Merci encore. |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
J'ai essayé de corriger ta formule suivant tes explications
Code :
=INDEX('Comptes GL'!C2:C446;EQUIV(1;('Comptes GL'!A2:A446='Écriture'!F7)*('Comptes GL'!B1:B446;'Écriture'G7);0)) Cette formule retourne la valeur de la colonne C si la donnée de la colonne A = F7 et (le *) la donnée de la colonne B = G7
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
On y est presque, Jérôme.
Avec cette formule révisée, j'obtiens une description plutôt que #N/A ; c'est un très grand pas. Ne reste qu'un petit pépin. J'obtiens l'info de la ligne suivant la ligne requise. Je m'explique. Avec le test que j'ai fait, je devrais obtenir la donnée de la ligne 216 mais j'obtiens plutôt celle de la ligne 217. Je sais qu'il existe une fonction DÉCALER pour ce genre de truc mais je ne l'ai jamais utilisée. Est-ce que tu serais assez gentil de m'indiquer comment faire ? J'espère que je n'abuse pas. Encore merci. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 5 ![]() |
C'est re-moi.
J'ai apporté une légère modification dans la formule que tu m'as fournie et que j'avais recopiée. Dans la dernière partie, au lieu de B1:B446, j'ai corrigé pour B2:B446 pour obtenir une plage similaire aux 2 autres (colonne A et colonne C) et WOW. C'est vrai que t'es un pro. ![]() Un très gros merci pour ton aide. Hélène (au Québec) décalage horaire oblige, je suis encore au boulot alors que chez-toi il est tard ; tu liras probablement mon message demain. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com