![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2009
Localisation: Paris
Messages: 54
|
Bonjour,
Je souhaite faire une recherche de valeurs grâce à l'intitulé de la ligne sur un tableau qui contient deux lignes avec le même intitulé... Voici la formule de la cellule où je veux voir la valeur de la ligne "minority interests" dans la colonne 12/09E: Code:
=DECALER(1:1;EQUIV("Minority interests";A:A;0)-1;) DECALER(A:A;;EQUIV("12/09E";2:2;0)-1)
Les contraintes: - la date est sur la ligne 2 - les lignes minority interests ne sont pas toujours aux mêmes numéro de ligne et je souhaite pouvoir réappliquer la formules sur différents fichiers... - Les blocs "Cons PL" et "Balance sheet" peuvent parfois être dans l'ordre inverse (d'abord Balance Sheet puis PL) L'idée serait donc de localiser le titre du bloc (Cons PL ou Balance sheet) pour ensuite chercher la valeur de la ligne minority interests... La recherche peut se faire par macro si c'est le seul moyen... |
|
|
|
| ANNONCES | |||
|
|
|
|
#4 (permalink) |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Rebonjour
Théoriquement, c'est bon pour la seconde recherche avec : Code:
INDEX(INDIRECT("A$"&EQUIV(A10;A$1:A$20;0)+1&":C$20");EQUIV(A10;INDIRECT("A$"&EQUIV(A10;A$1:A$20;0)+1&":A$20");0);2)
Code:
INDEX(INDIRECT("A$"&EQUIV(A10;A$1:A$20;0)+1&":C$20");EQUIV(A10;INDIRECT("A$"&EQUIV(A10;A$1:A$20;0)+1&":A$20");0);3)
@ plus Dernière modification par CISCO ; 30/06/2009 à 13h45. |
|
|
|
|
|
#5 (permalink) | |
|
XLDnaute Junior
Date d'inscription: mai 2009
Localisation: Paris
Messages: 54
|
Citation:
|
|
|
|
|
|
|
#6 (permalink) | |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Citation:
Voui, voui, j'avais bien compris... Il ni y a pas vraiment de problème, puisque c'est excel qui recherche les numéros de lignes : Ceux-ci ne sont pas imposés par la formule. Pour adapter les formules ci-dessus, il suffit de changer les 20 en 40, si par exemple ton fichier fait 40 lignes, etc. Ceci dit, ci-joint, une autre version , toujours construite suivant le même principe, avec la seconde méthode, c-à-d avec des plages nommées, mais dans ce dernier cas, peu importe l'ordre des blocs (Cons PL en premier ou pas) : Les résultats seront au bon endroit, ceux correspondant à Cons Pl en premier. Toutefois : les termes Cons PL, BALANCE SHEET et Minority interests doivent être dans la colonne A. Le bloc Cons ne doit pas avoir plus de 11 lignes. Le bloc Balance ne doit pas avoir plus de 8 lignes. Si il le faut vraiment, on peut encore faire des modif pour éliminer ces dernières limites. @ plus Dernière modification par CISCO ; 30/06/2009 à 14h20. |
|
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2009
Localisation: Paris
Messages: 54
|
Effectivement, ce serait une bonne idée de nommer les blocs, cependant ce n'est pas moi qui créé les fichiers Excel. Ils sont générés à partir d'un server web. De plus les blocs générés sont de tailles parfois différentes... Je dois prendre la colonne dont la date est le 12/09E et il se peut aussi que ce ne soit pas la seconde, mais la 3eme ou 4eme colonne...
Les seuls choses qui ne changent pas sont: - la date est sur la ligne 2 - les titres sont dans la colonne A C'est pourquoi la formule que j'utilise fonctionne parfaitement si le titre est unique, quelque soit la position de la colonne 12/09E, ou du titre dans le fichier... Cependant si le titre n'est pas unique, cela se complique... En fait je cherche une formule que je puisse ensuite appliquer à n'importe quel fichier sans avoir à adapter la formule, car j'ai plus de 100 fichiers excel à traiter... Dernière modification par Maxpuff ; 30/06/2009 à 16h32. |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Bonjour
Encore quelques modifications histoire d'obtenir un fichier un peu plus polyvalent. Avec cette technique, il te faut malheureusement à chaque fois définir les plages nommées Balance, BalanceA, Cons et ConsA. Par conséquent, tu ne peux pas procéder par un simple copier coller. Si je trouve une solution encore plus simple, je te fais signe. @ plus |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Rebonjour
Une autre possibilité (à tester qu'en même), sans plage nommée, qui fonctionne donc avec un simple copier-coller, donc plus rapide à mettre en oeuvre sur de nombreux dossiers. Il ne reste plus qu'une limite (en plus de celles que tu as déja données) : la date 12/09E doit être dans la plage A2:Z2. Si tu as des fichiers où cette date risque de se retrouver plus à droite, à toi de changer cette plage dans la formule. @ plus Dernière modification par CISCO ; 01/07/2009 à 19h27. |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2009
Localisation: Paris
Messages: 54
|
Ca fonctionne parfaitement ! Je ne comprends rien au code que tu as fait, mais ça fonctionne. Si tu te sens d'âme généreuse, je veux bien que tu me détailles un peu ton code pour que je puisse comprendre...
|
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Bonjour
Mieux vaut tard que jamais... En pratique on doit chercher deux fois la même chose : "Minority Interests". Pour qu'excel ne renvoie pas à chaque fois le même résultat, correspondant au premier "Minority Interests" rencontré, on va lui faire rechercher "Minority Interests" dans deux pavés différents, tout en ne sachant pas à l'avance lequel est en premier. La méthode consiste donc à créer deux pavés "démarrant", pour l'un, par la cellule contenant "Cons PL", pour l'autre, par la cellule contenant "BALANCE SHEET", allant jusqu'à la dernière ligne du fichier, et jusqu'à la colonne contenant 12/09E. Pour le pavé commençant par "Cons PL", c'est fait avec : EQUIV("Cons PL";A:A;0), qui recherche dans la colonne A:A la position de "Cons PL", 1 dans l'exemple en pièce jointe. Le 0 indique qu'il faut trouver exactement "Cons PL". EQUIV("zz";A:A;1) qui recherche dans la colonne A:A le terme "zz", ne le trouve pas et renvoie donc le numéro de la dernière ligne du fichier (grace au 1), 21 dans l'exemple. EQUIV("12/09E";$A$2:$Z$2;0) qui recherche 12/09E sur la ligne 2, dans la plage A2:Z2, et renvoie le numéro de la colonne correspondante dans cette plage, 2 dans l'exemple. Le 0 indique qu'il faut trouver exactement 12/09E. La syntaxe de la fonction ADRESSE est ADRESSE(numéro de la ligne, numéro de la colonne) et renvoie la référence d'une cellule sous forme de texte. INDIRECT permet d'indiquer une plage avec du texte, que l'on peut modifier comme on veut grace à d'autres fonctions. & permet de concatener du texte. On assemble ces diverses formules dans Code:
INDIRECT("A"&EQUIV("Cons PL";A:A;0)&":"&ADRESSE(EQUIV("zz";A:A;1);EQUIV("12/09E";$A$2:$Z$2;0)))
INDIRECT("A"&1&":"&ADRESSE(21;2)) INDIRECT("A1:"&ADRESSE(21;2)) INDIRECT("A1:"&"$B$21") ce qui donne finalement le pavé A1:$B$21 correspondant à "Cons PL" La formule complète pour "Cons PL" est Code:
=RECHERCHEV("Minority interests";INDIRECT("A"&EQUIV("Cons PL";A:A;0)&":"&ADRESSE(EQUIV("zz";A:A;1);EQUIV("12/09E";$A$2:$Z$2;0)));EQUIV("12/09E";$A$2:$Z$2;0);FAUX)
On procède de même pour "BALANCE SHEET" avec Code:
=RECHERCHEV("Minority interests";INDIRECT("A"&EQUIV("BALANCE SHEET";A:A;0)&":"&ADRESSE(EQUIV("zz";A:A;1);EQUIV("12/09E";$A$2:$Z$2;0)));EQUIV("12/09E";$A$2:$Z$2;0);FAUX)
=RECHERCHEV("Minority interests";A13:$B$21;EQUIV("12/09E";$A$2:$Z$2;0);FAUX) =RECHERCHEV("Minority interests";A13:$B$21;2;FAUX) qui renvoie le résultat trouvé à l'intersection de la première ligne, après la ligne 12, contenant "Minority Interests" et de la colonne contenant "12/09E". On ne peut pas, plus rapidement, faire "démarrer" l'un des deux pavés directement par A1, car on ne sait pas lequel est en haut : est-ce celui "démarrant" par "Cons PL", ou celui "démarrant" par "BALANCE SHEET" ? En pratique, l'un des deux pavés contient l'autre. Par conséquent, il contient aussi les deux "Minority Interests", mais cela ne pose pas de problème puisque la fonction RECHERCHEV repère uniquement le premier "Minority Interests" rencontré. Le second pavé ne contient que le second "Minority Interests", donc ne pose pas de problème non plus. En résumé, on fait rechercher par excel "Cons PL" ou "BALANCE SHEET", pour définir deux pavés différents, avant de rechercher "Minority Interests". Voilà... Pas facile à expliquer en détail. @ plus Dernière modification par CISCO ; 16/07/2009 à 09h00. |
|
|
|
|
|
#13 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: juin 2008
Messages: 29
|
Bonjour à tous,
voila j'ai un petit souci. Je souhaite faire une recherche par pays. Je m'explique jai une colonne H ou dans chaque cellule des série de pays sont spécifié (Italie, Brésil, Maroc, Portugal) et en colonne A le nom de la personne y figure. Donc pour chaque nom figure une chaine de pays. L'idée est donc de trouver une formule qui puisse me faire trouver les personnes qui s'occupe d'un seul pays. Imaginons je tape Portugal je faire défilé toutes les personnes qui s'occupe du portugal. Merci pour votre aide. Cordialement. |
|
|
|
|
|
#14 (permalink) |
|
XLDnaute Accro
Date d'inscription: novembre 2006
Localisation: VILLELONGUE DELS MONTS
Messages: 1 451
|
Bonjour à tous, bonjour Adel77
Cela serait mieux de créer un nouveau fil, et d'y joindre un petit fichier (moins de 49 ko), pour que nous comprenions bien ta demande. @ plus |
|
|
|
![]() |
| Liens sociaux |
| Tags |
| decaler, equiv, macro, recherche |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| recherche de valeurs et somme de ces valeurs. | fabian123 | Forum Excel | 4 | 30/04/2009 18h20 |
| recherche valeurs | pasmermayvir | Forum Excel | 9 | 31/05/2008 17h57 |
| Recherche de valeurs ... | Chubby | Forum Excel | 4 | 25/03/2008 23h59 |
| recherche de valeurs | NICOLAS | Forum Excel Downloads - Archives | 2 | 25/06/2004 16h56 |
| recherche de valeurs | Laetitia | Forum Excel Downloads - Archives | 3 | 05/06/2002 11h27 |