[RESOLU][EXCEL] formule pour trouver un prix en fonction de 2 critères

Bonjour à tous,

Alors je ne vais pas y aller par 4 chemins, Geekzone est, je le sais, mon dernier recours et vous que maintenant nous nous aimons tous d’amour je me permets de vous envoyer cette missive désespérée car :
1- je suis au taf, complètement noyé sous plein d’autres sujets
2- google n’a pas été mon ami dans les 10 minutes que j’ai pu passer dessus (j’ai trouvé des trucs avec la formule EQUIV et la formule INDEX mais je n’arrive pas à les appliquer).

En gros, je défini une matrice de prix selon 2 critères (et donc un RECHERCHEV ne fonctionne, à priori pas). Puis j’ai une liste de clients à qui j’applique ces deux critères. Ce que je voudrais, c’est la formule qui permet d’appliquer automatiquement le prix pertinent de la matrice suite au choix des critères.

Une autre requête est que la formule ne soit pas une usine à gaz, donc que je puisse allonger la matrice sur les 2 critères sans avoir à retaper toute la formule à chaque fois.

J’ai mis le fichier sur Minus.

La demande peut paraître un peu nulle mais bon … j’ai encore beaucoup à apprendre sur Excel. Merci beaucoup beaucoup par avance à la personne qui me donnera un petit coup de main.

Sherlock, débordé et padawan en excel.

Eu sur ton exemple, tu as mis 1,2 et 3 et A,B, C…C’est evidement autre chose (genre taille et poid) ?

Tu peux peut etre regarder du coté de =Cellule(“contenu”,[Adresse de ta celule])

[Adresse de ta cellule] étant récupéré via 2 fonctions (rechercheV) et (RechercheH)

ici peut etre http://support.micro…om/kb/465704/fr

=SOMME(SI((B12=A$3:A$7)*(C12=B$2:D$2);B$3:D$7;0))

en d12 validé par ctrl shift enter

le fichier : http://dl.dropbox.com/u/4456347/DEMANDE%20GZ.xls

Moi j’aurai fait en D13
=DECALER($A$2;EQUIV(B13;rank;0);EQUIV(C13;number;0))

(en ayant nommé la zone A3:A7 “rank” et la zone B2:D2 “number”)

EQUIV te donne la position du contenu de B13 (soit ton rank) dans la zone rank (ici, A = 1, B = 2, etc.), et la position de C13 (soit ton nombre) dans la zone nommée number (ici, 1 = 1, 2 = 2, etc.)

DECALER crée une plage dynamique (ici de la taille d’une seule cellule) en partant de A2, en descendant de X lignes et en se déplaçant à droite de X colonnes.

A première vue ça marche en tout cas.

  • La technique du SOMMESI() marche bien mais c’est en passant en force. Si tu as une petite base de critères ça passe tout seul. Si tu veux impressionner le bureau (et les filles évidemment), prend un autre chemin.

  • Un simple RECHERCHEV() avec RECHERCHEH() passent bien comme le dit Elred mais je rajouterais une subtilité : le RH peut aller chercher une ligne supplémentaire située en-dessous (ça ne marche pas sinon) de la ligne rassemblant ton deuxième critère dans laquelle tu iras chercher ce que renvoie ton RH c’est-à-dire la colonne à décaler du RV.

Pas clair ? Regarde le fichier joint. Ligne “index” que tu peux cacher éventuellement.

  • Pour ton problème de formule à modifier en cas d’ajout de lignes ou colonnes dans la matrice des critères, il suffit de donner un nom à une plage dans la case à gauche de la ligne de formule. Tu peux ensuite changer la taille de la plage, le nom dans les formules restant le même. Evidemment il faut aussi mettre à jour la ligne index même si ça peut se faire tout seul, mais je ne vais pas entrer dans les détails (on peut toujours raffiner).

  • La technique de no-live est efficace mais j’ai un doute et je ne sais plus pourquoi !

Le ficher joint http://dl.dropbox.com/u/7640029/Demande_GZ_ghis.xls
(à quand le drag and drop direct dans la fenêtre du butineur ?)

Merci beaucoup à tous pour vôtre aide. Je rentre tout juste du taf mais je regarde ça demain matin en me reposant sur mon bureau de torture.

Soucis résolu ! J’ai finalement choisi la solution de Ghigis, qui fonctionne au poil. Merci beaucoup à toi !

Merci également à tous pour vos propositions, j’ai appris plein de nouvelles formules.

De rien, tu envois le chèque comme prévu :smiley: Ou alors tu choisis dans ma wish list Steam c’est comme tu veux :stuck_out_tongue:

PS: J’ai rajouté une fonction TRONQUE() au départ croyant que la recherche déconnait mais en fait les cellules d’origine avaient un format déjà tronqué.