RechercheV Multicritères

Bonjour à tous,

Je me casse les dents sur une rechercheV comportant plusieurs critères. Voici le sujet :

J'ai la colonne B avec une référence apparaissant plusieurs fois dans la matrice.

J'ai la colonne D avec des états défini

J'ai des noms en colonne E.

Je voudrais afficher le nom de la colonne E si B correspond a une condition et D une autre condition (plusieurs possible).

Il faut que je puisse afficher l'ensemble des noms (colonne E) correspondant a ces conditions.

Pour info : Je n'ai pas droit au Macro, pas droit au formules matricielles.

Merci a vous.

Cordialement.

Ch@p'

Bonjour,

Bonjour,

Nouvellement inscris sur le forum, je me suis à la recherche d'une solution identique à celle de l'auteur, je me permets donc de fournir un exemple avec un cas concret.

Je travail sur un fichier excel pour répertorier les versions logicielles disponibles pour un éditeur. Parmi les "versions disponibles" nous définissions des "versions recommandées". Je vous joins un fichier "vite fait" en exemple et vous donne mes explications.

Sur mon tableau en Page 1, je résume mon parc client

-Je sélectionne l'éditeur

=>J'obtiens en fonction de l'éditeur sélectionné les versions de l'éditeur uniquement.

Sur ma 2nd page, je référence mes "éditeurs maintenus". Cette liste me donne les choix "éditeur" du tableau de la page 1.

Les pages suivantes sont en fonction de mes éditeurs, je référence:

-En Colonne B, les version existantes

=>Pour l'éditeur 1, le format est 1.0=>1.1=>2.0=>2.1=>[etc]

=>Pour l'éditeur 2, le format est 1.A=>1.B=>2.A=>2.B=>[etc]

=>Pour l'éditeur 3, le format est A.0=>A.1=>B.0=>B.1=>[etc]

-En Colonne A, je marque (à l'aide d'un menu déroulant) les "version recommandées" par un X.

L'objectif du présent exercice est de retrouver sur ma page 1:

  • En colonne B, la liste de mes éditeurs dans un menu déroulant: C'est fait!
  • En colonne C, la liste des versions possibles fonction de mon éditeur: C'est fait!
  • En colonne D, la version "supérieur ou égale" recommandée: Et là je coince.

Par exemple:

Pour mon éditeur 1, mon client est en version 2.0 mais je recommande la 2.2. Je veux que la colonne D m'indique "2.2".

Par contre, si mon client est en version 1.3 et que c'est une version recommandée, je veux que la colonne D m'indique "1.3".

Je me dis que je dois prendre ma colonne "version" de mon 1er tableau et ne garder que les caractère précédant le "." pour rechercher "la version la plus proche" marquée d'un "X" sur le tableau de l'éditeur correspondant, mais je bloque un peu à la mise en œuvre...

Je continue de creuser de mon côté, mais je me dis que "si d'autres barjots comme moi" aiment aussi travailler sur un bon casse tête, ce serait dommage de pas partager!

Je vous remercie par avance!

Enjoy!

Petite update:

Je suis *preeeesque* au bout du truc. En Colonne D cellule 1, j'utilise comme formule de mon tableau:

=RECHERCHEV(STXT(C2;1;2);INDIRECT(B2&"!Version");1;1)

Le truc qui coince, c'est qu'il me donne la version recommandée PRENANTE...

Je pense tenir une partie du truc, mais il en manque encore... Je continue d'y bosser!

EDIT/

J'ai amélioré un peu le truc. Dans mon cas, c'était un "manque de généricité" qui me posait un souci, pour la fonction "STXT". J'ai remplacé STXT(C2;1;2) par GAUCHE(C2;CHERCHE(".";C2;1)-1)

STXT(C2;1;2) C'est bien, mais ça me renvoie "que le 1er caractère", ce qui veut dire que si j'ai une "version 12" il me prend ça pour une "v1".

GAUCHE(C2;CHERCHE(".";C2;1)-1) est plus adapté, CHERCHE(".";C2;1) me permet de trouver "l'emplacement" du "." et de récupérer ce qu'il y a jusqu'au point. Je soustrait 1 à la position pour avoir "ce qui se trouve STRICTEMENT AVANT" le point. 8)

Enfin, "GAUCHE" me permet de récupérer la chaine de caractère en partant de la gauche.

Résultat:

=RECHERCHEV(GAUCHE(C2;CHERCHE(".";C2;1)-1);INDIRECT(B2&"!Version");1;1)

PS: Non je vous prends pas pour des idiots, j'essaye de faire en sorte qu'un petit newbie d'excel puisse suivre.

EDIT/ Le retour de la vengeance contre-attaque.

Je touche au but, j'ai écris 2 formules:

La précédente (toujours à corriger car elle me renvoie la version précédente et non l'actuelle ou suivante).

Puis:

=RECHERCHEV("X";INDIRECT(B2);2;0)

=>Renvoie la 1ere valeur marquée d'un "X" sur le tableau nommé du nom de l'éditeur en case B2. ça marche.

Me reste plus qu'a combiner les deux et je devrais obtenir quelque chose "d'approximativement" juste. Restera la correction.

Encore merci!

Bonjour à tous!

Désolé pour le triple posting, c'est juste pour remonté le sujet!

Je n'arrive plus a bouger d'un pouce (et pourtant je cherche!) alors si quelqu'un aurait ne-serait-ce qu'un début d'idée à cultiver et exploiter, je suis ouvert au suggestions!

Il est possible que je prenne le problème à l'envers après tout et que je m'embourbe dans une voie sans issue.

Par avance merci!

Fox.

bonjour

un essai (a voir : la correspondance est ok)

19fox.xlsx (14.32 Ko)

cordialement

Alors, je l'ai trituré et maltraité un peu et j'ai qu'une chose à dire:

Fiiouuuuuu, j'étais à des années lumières de la solution!

J'avais commencer a travailler sur une solution INDEX/EQUIV mais là....

Bon, me reste plus qu'a décortiquer et ingurgité tout ça pour progresser! Merci!

EDIT:

Après test un peu plus poussé, j'ai vu que ça coince au dela des versions >9

Je vais m'inspirer de ça et essayer de faire un truc plus général.

Bonne journée.

re

voila une 2eme version plus directe qui ne te propose en choix recommandé que les cochés X pour chaque Editeur

23fox-2.xlsx (16.21 Ko)

cordialement

Bonjour Tulipe et merci de t'investir autant dans mon problème.

L'objectif final de cette formule sera d'être utilisé dans un document "de prod".

Malheureusement, quand tu fais l'inventaire d'un parc client, tu ne sais pas forcément sur quelle version il tourne actuellement =/ j'ai donc besoin de pouvoir choisir dans mon tableau la version utilisée.

Ta seconde version est pas mal, elle me propose la liste des versions recommandée (c'est une bonne idée, et je devrais savoir faire ça) Mais le fait est que plus tu va avoir de versions différentes, plus ta liste sera "intenable". C'est pour ça que l'objectif final est que mon fichier comporte:

En Colonne A: Le nom de l'éditeur (qui me sert de nom par onglet et par tableau, ça aide a retrouver mes petits dans les formules grâce à la fonction "INDIRECT(Ax&"!ColonneTab")"

En colonne B: La liste des versions POUR l'éditeur, ou je n'ai donc qu'a trouver la bonne version et à la séléctionner.

Jusque là on est bon. Attaquons la colonne C (et c'est la que c'est touchy).

En Colonne C je dois obtenir "la bonne version recommandée" en fonction de plusieurs critères:

-La version doit être "marquée" d'un X dans le tableau de l'éditeur.

C'est bon, mais pas suffisant.

-La version affichée doit être SUPÉRIEURE OU ÉGALE à la version en production. (j'avais dit que ça devenait touchy!)

En exemple:

Si : mon client est en version 13.4

ET QUE La version 13 recommandée est la 13.2,

ALORS que la colonne C me renvoie alors la version 14.X recommandée.

SINON (comprendre "Si mon client est dans une version antérieure ou égale à la version recommandée"), afficher la version recommandée de la version.

Pour ce qui est numérique, c'est relativement simple, mais tous les éditeurs auxquels j'ai affaire ont une nomenclature différente. Pour ne cité que 2 exemples d'éditeurs bien connus avec des nomenclatures différentes

Fortinet: V4 MR3 patch15

Checkpoint; R77.30

Et faut essayer de faire en sorte que tout ce beau monde cohabite sans foutre la grouille... (oui pas facile....).

EDIT: Si j'arrive a faire une liste déroulante un peu comme toi sans avoir besoin d'un tableau intermédiaire, ce sera largement suffisant déjà je pense!

Encore merci!

re

je crois bien que la seconde version est la mieux car grace a une petite matricielle d'extaction des ref assosiées aux "X" ,tu ne presentes que ce qu'il y a de dispo (ça filtre deja un peu ) ainsi lorsque tu selectionnes une ref client tu peux aisement proposer une correspondance soit egale; soit superieure ; ou meme inferieure ;de plus avec un peu de professionalisme ,tu finis par connaitre les inferieures à eliminer ..........

cordialement

Rechercher des sujets similaires à "recherchev multicriteres"