Extraire à partir d'une valeur unique

brutor2

XLDnaute Junior
Bonjour à tous,

Je dois monter un classeur qui permettra d'importer sur 5 feuilles différentes des valeurs concernant des personnes répertoriés par 2 critères !
un numéro de 1 à 200
un nom

Donc mon problème c'est que cette importation de valeurs n'a pas de logique dans la chronologie des numéros.

En effet, dans le premier tableau, on peut trouver des numéros de 1 à 10, mais aussi de 20 à 25, ...
Dans mon deuxième tableau, on pourra trouver 11 et 12 et 30 à 36
Dans mon troisième tableau 160 à 200.
Etc...
Or ce chiffre est unique.

Je voulais donc reporter l'ensemble de ces données dans un dernier tableau récapitulatif numéroter de 1 à 200 suivi du nom.

Pour obtenir toutes les informations lier au numéro dans un tableau, j'ai trouver la formule suivante :
=INDEX(Personnes.xls!Nom;EQUIV(1;Personnes.xls!Numero;0))

ou Nom est le nom de la colonne contenant les noms et Numero la colonne contenant le numéro de la personne et 1 la valeur du numéro.

Cela marche bien si mes numéros sont définis à l'avance dans une des feuilles.

Mais si mes numéros se retrouvent dans n'importe quelle feuille, je ne sais pas comment développer cette formule.

En fait dans mon tableau récapitulatif, je souhaiterai adapter ma formule pour retrouver le numero 1 d'une des 5 feuilles et le nom qui va avec et ainsi de suite jusqu'à 200.

J'espère avoir été assez clair et surtout que vous pourrez m'aider.

Merci à tous.

Brutor2
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Extraire à partir d'une valeur unique

Bonjour,

Un petit souci avec le lien vers cjoint

On, a un message : "Ce lien n'est pas ou n'est plus disponible" ???

Cela dit, si ton fichier une fois zippé fait moins de 48.8 ko, tu peux le joindre directement sur le Forum

A te (re)lire

@+
 

Tibo

XLDnaute Barbatruc
Re : Extraire à partir d'une valeur unique

re,

Un essai sur la base de ce que j'ai compris :

En B3 de l'onglet Liste Complète :

Code:
=SI(NB.SI('001A1'!$A$5:$A$207;$A3);INDEX('001A1'!C$5:C$20;EQUIV($A3;
'001A1'!$A$5:$A$207;0));SI(NB.SI('001A2'!$A$5:$A$207;$A3);INDEX('001A2'!C$5:C$20;
EQUIV($A3;'001A2'!$A$5:$A$207;0));SI(NB.SI('001AN'!$A$5:$A$207;$A3);
INDEX('001AN'!C$5:C$207;EQUIV($A3;'001AN'!$A$5:$A$207;0));"")))&""

à recopier à droite puis vers le bas

Je te laisse tester

@+
 

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Super cela marche !!!!!!

Merci à toi et si je peux abuser peux-tu me dire :

1. Et si je rajoute d'autres feuilles de données, la feuille de synthèse en tiendra compte où faudra-t-il modifier la formule?

2. Peux tu m'expliquer assez simplement ce que tu as fait dans cette formule ?

3. Comment avoir sur une feuille supplémentaire un récapitulatif des numéros sans données?
Je souhaiterais que ces numéros libres soient sur 5 colonnes réparties sur la première pour les numéros de 1 à 10 sur la deuxiéme les numéros de 11 à 20
sur la 3é de 21 à 30 sur la 4è de 31 à 36 et la dernière colonne de 37 à 200.
Ceci en ayant que l'indication des numéros.
C'est possible...

Vous êtes génials...
 

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Bonsoir,


Petite question pour dans une référence de la cellule j'ai C20 et pas C207

=SI(NB.SI('001A1'!$A$5:$A$207;$A3);INDEX('001A1'!C$5:C$20;EQUIV($A3;
'001A1'!$A$5:$A$207;0));SI(NB.SI('001A2'!$A$5:$A$207;$A3);INDEX('001A2'!C$5:C$20;
EQUIV($A3;'001A2'!$A$5:$A$207;0));SI(NB.SI('001AN'!$A$5:$A$207;$A3);
INDEX('001AN'!C$5:C$207;EQUIV($A3;'001AN'!$A$5:$A$207;0));"")))&""

Est ce normal ?
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Extraire à partir d'une valeur unique

re,

La formule contient à 3 reprises un test : SI(NB.SI('001A1'!$A$5:$A$207;$A3);...

Il s'agit en fait d'un test pour s'assurer si le n° est présent sur la 1ère feuille, puis sur la 2ème, puis sur la 3ème.

Et ensuite l'INDEX / EQUIV est adapté à la feuille correspondante.

S'il y a d'autres feuilles, il faut effectivement adapter la formule.

Le souci, c'est qu'on est limité à 7 niveaux d'imbrication dans les formules, ce qui va vite limiter le nombre de feuilles.

Pour ton dernier point, tu peux reprendre la formule en la complétant par un message au cas où les 3 NB.SI retourneraient 0, c'est que le n° n'est pas présent.

Sinon, il faudrait que tu nous indiques la logique de ton vrai fichier, notamment en ce qui concerne les noms données aux onglets. Sont-ils numérotés et consécutifs ou pas ?

@+

Edit :

re,

Pour le 20, c'est une erreur lors d'un copier coller partiel, c'est bien entendu 207 qu'il faut lire et écrire

@+
 

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Bonsoir,

Merci pour les explications claires et précises...

J'ai en effet pu adapter facilement ta formule avec deux feuilles supplémentaires.

L'appellation des onglets n'a pas de suite logique. Les groupes de personnes sont classées dans 5 listes 001A1, 001A2, 001A5, 001AD, 001AN.

Ces listes sont nommées ainsi car utilisées dans une autre application propriétaire. J'ai simplement garder l'appellation. Mais j'aurais pu leur donner un autre nom.

Donc comment ferais tu pour obtenir un tableau qui rappellerai

col A les numéros de 1 à 10 libre
col B 11 à 20
col C 21 à 30
col D 31 à 36
col E 37 à 200

Voici un fichier réactualiser avec la formule de Tibo et un dernier onglet ou je souhaiterai avoir automatiquement le résultat que j'y ai inscris

http://cjoint.com/?liuHn0dOpH

Merci de votre aide
 
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Extraire à partir d'une valeur unique

Bonjour,

Un petit complément

Les n° présents par formule
Les n° libres aussi
Les n° de téléphone s'ils ont une valeur numérique

J'ai jeté le fichier et fait un autre le même, copié-collé).
Pourquoi si lourd avec si peu de données ?
Je n’ai pas réussi à le faire descendre à moins de 4 Mo
 

Pièces jointes

  • PersonnesBrutor.zip
    18.3 KB · Affichages: 60

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Bonjour et Merci Monique,

Je vais adapter ton complément dans mon fichier, mais surtout essayer de comprendre comment tu as fait et je reviendrais vers toi si tu le permets pour des explications de texte ou plutôt de formule...

Pourquoi mon fichier est-il si gros avec si peu de données, je t'avoue que j'en sais rien. Avec deux onglets supplémentaires, il fait 7 MO !!!!
Quelqu'un aurait-til une idée?

Merci encore
Brutor


PS: A première vue, cela va être dur pour mon petit cerveau!!!!
 
Dernière édition:

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Re Bonjour,

Monique déjà des questions ...

Ton tableau de n° libre fait référence aux N° présents en col A de l'onglet N° Présent (=DECALER($A$3;;;MAX($A:$A)). Mais sur mon fichier exemple onglet Liste complète) ces numéros sont déjà en place, seuls les noms sont vides.

Peut-on adapter tous ce que tu as fait en prenant en référence le fait que la cellule nom est vide en col B.

Si oui comment peut-on faire?

Autre chose pourquoi le nom des onglets est-il si important que tu en ais fait une liste classée ???
 

brutor2

XLDnaute Junior
Re : Extraire à partir d'une valeur unique

Bonjour,

J'ai essayé d'adapter la formule matricielle :
=PETITE.VALEUR(SI(NB.SI(NoTous;LIGNE(INDIRECT(B$3&":"&B$4)))=0;LIGNE(INDIRECT(B$3&":"&B$4)));LIGNES(B$5:B5))

En changeant la plage de No Tous et en utilisant sur l'onglet Liste complète en col E la formule:
=SI(B3="";0;A3)

A priori le résultat semble correct !!!
Est-ce bon ou pas ?

Mais pourrais-je avoir une explication sur cette formule matricielle, car j'avoue que j'ai du mal à la comprendre...

Je joins mon fichier réactualisé http://cjoint.com/?ljnAjD5oWp

Merci
 

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise