Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effectuer une recherche dans un tableau selon un double critère [Résolu]

klendatul

XLDnaute Nouveau
Bonjour à tous,

Je cherche despérement à faire une recherche dans un tableau en utilisant un double critère pour éviter les nombreux doublons, mais là je suis dépassé. Je crois que je dois utiliser les fonctions "index" et "equiv" mais là je sèche, je n'arrive pas trop à comprendre le fonctionnement.

J'ai mis mon tableau (en simplifié au maximum, le vrai a 3000 lignes) avec toutes les explications et les commentaires dessus.


Pour résumer:

Je bosse sur des diplômes et les spécialités de ces diplômes . Par exemple Bac - scientifique (diplôme - spécialité), BTS - informatique, CAP - boulangerie, etc, etc ...

Chaque diplôme est codifié : par exemple : BAC = 03 , BTS = 28, etc ...
Chaque spécialité est codifiée aussi : par exemple pour le bac: scientifique = 01 , litteraire = 02, etc ...

Donc un bac - scientifique sera codifié 03 - 01 d'après mon exemple.

Mon souci :
Il s'agit de faire appairaitre les codifications correspondantes lorsque les utilisateurs utilisent les listes déroulantes.
Pour codifier automatiquement le diplôme, aucun souci, une simple rechercheV suffit.

En revanche, je n'arrive pas à faire apparaitre la codification de la spécialité.
Il me faudrait une formule pour dire à excel de regarder la codification de la spé d'après le nom de la spécialité ET le nom du diplôme car il y a des doublons dans les noms des spécialités pour l'ensemble des diplomes (par exemple , "boulangerie" existe aussi bien pour le "CAP" que pour le "BEP", il faut donc qu'excel regarde la codification de "boulangerie" en sachant si c'est un "cap" ou "bep".


Merci à l'âme charitable qui réussira à m'aider je désespère depuis 3 jours là !
 

Pièces jointes

  • excel.xls
    43 KB · Affichages: 73
  • excel.xls
    43 KB · Affichages: 72
  • excel.xls
    43 KB · Affichages: 70
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Effectuer une recherche dans un tableau selon un double critère

Salut à tous,
J'ai mis moi même un certain temps à assimiler le fonctionnement de somme prod.
L'idée est la même que celle de hbenalia : on écrit un critére sous la forme plage = valeur : ceci donne une matrice de 1 ou de 0 selon que c'est vrai ou pas. Quand je veux deux critères je fais la multiplication des deux critères. Quand je veux compter le nb de résultats je multiplie la matrice par 1. Quand je veux un N° de ligne je multiplie par le N° de ligne. la fonction ligne(cellule) donne le N° de ligne de la cellule considérée. Dans le somme prod quand je multiplie par ligne(plage) : je multiplie chaque 0 ou 1 de la matrice des critères par le N° de la ligne correspondant dans la plage (c'est clair pour moi : mais pour toi ???) du coup mon résultat est le N° de ligne (ou la somme des N° de lignes) qui correspond aux deux critères.
Cordialement
 

klendatul

XLDnaute Nouveau
Re : Effectuer une recherche dans un tableau selon un double critère

Merci pour tes explications, cela me semble + clair ...

J'ai utilisé la formule contenant index + equiv et elle fonctionne ... sur une partie de mon tableau seulement, certains diplômes en pleins milieu du tableau renvoient l'erreur N/A.

Est-ce possible qu'un bug puisse venir du fait que dans le gestionnaire de noms il y ait des accents par exemple ? Est-ce que les spécialités doivent être mises dans le format texte ou autre ?

Je suis dég, je suis à deux doigts du but !
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Effectuer une recherche dans un tableau selon un double critère

Sans fichier, pas facile !
essaye de ne garder que les ref qui posent probleme et d'en joindre un morceau.
C'est certainement encore un pb sur tes formats de codes.
Cordialement
 

klendatul

XLDnaute Nouveau
Re : Effectuer une recherche dans un tableau selon un double critère

J'ai réparé une erreur, il s'agissait un problème avec le gestionnaire de nom qui a décalé une codification pendant la création des liste, du coup il ne trouvait rien.

En revanche toujours 2 diplômes sur les 49 pour qui ça bloque ...
Compliqué de fournir le fichier dans il faudrait que je re-crée toutes les listes de noms, même si je ne donne qu'une partie du tableau qui pose problème ... Sauf si vous avez une astuce pour exporter les listes de noms ! (j'ai mis pas mal de temps à les créer)
 

hbenalia

XLDnaute Occasionnel
Re : Effectuer une recherche dans un tableau selon un double critère

Bonjour à tous,


* Pour la conversion au format "Texte" proposé "XXXX", trois méthodes se présentent (en ce qui me concerne):
- Par le menu: On choisit le menu "Format" et on choisit le format "Texte" puis "Personnalisé" et on saisit "0000" dans le cadre "Type". Pour les codes contenant uniquement des chiffres, on saisit ces nombres (par exemples pour le code 0001 on saisit 1, pour le code 0121 on saisit 121...), pour les codes alphanumériques on saisira le code au complet (par exemple le code 0A25)
- Par formules:
Code:
=TEXTE(A1;"0000")
ou on saisira le code (complet) précédé d'une apostrophe " ' " (pour les codes numériques) et pour les codes alphanumériques on saisira le code complet....
- Par VBA : que tu veux éviter

* La validation des matricielles se fait par Ctrl+Maj+Entree sinon la formule est ordinaire et la matrice (tableau) correspondante ne sera créée... Si ton histoire avec cette méthode de validation concerne "comment le faire?", après la saisie de la formule, on appuie en même temps sur (Ctrl et Maj) (rien ne se passe car se sont des touches mortes) puis on appuie sur la touche "Entree"... Si c'est autre chose, plus de précisions sur la question sont requises.....

Cordialement
 

hbenalia

XLDnaute Occasionnel
Re : Effectuer une recherche dans un tableau selon un double critère

Bonjour à tous,


Le problème concerne toujours les formats de nombres... Pour remédier ce problème utilise la formule suivante (toujours matricielle):
Code:
=INDEX(codif_libelle;EQUIV(1;(codif*1=$A$11*1)*(libelle_diplome=$A$17);0))

Cordialement
 

klendatul

XLDnaute Nouveau
Re : Effectuer une recherche dans un tableau selon un double critère

Voilà, j'envoi donc mon "vrai" tableau que j'ai simplifié pour vous.

La codification automatique bug lorsqu'on choisit les diplôme Certificat de formation générale et Certificat d'études primaires.

Tous les détails sont dans le tableau, en espérant que vous trouvez d'où vient le soucis

Merci encore à tous et merci hbenalia mais même avec ta nouvelle formule, le problème est le même

Le fichier est à cette adresse sur Free car il fait 600ko, au lieu des 293ko autorisés ...

Free - Envoyez vos documents
 

Dugenou

XLDnaute Barbatruc
Re : Effectuer une recherche dans un tableau selon un double critère

salut,
dans la feuille codification des diplomes c'est 4 pour le certificat de formation générale et 5 dans le gestionnaire de nom
 

klendatul

XLDnaute Nouveau
Re : Effectuer une recherche dans un tableau selon un double critère

salut,
dans la feuille codification des diplomes c'est 4 pour le certificat de formation générale et 5 dans le gestionnaire de nom

C'était tellement évident que je ne l'ai même pas vu à force d'avoir la tête dans les chiffres ...


Je remercie dans tous les cas 1000 fois tout le monde, pour votre patience et vos (nombreuses) réponses !

Au plaisir
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…