Zut,
tout un message a disparu...
OK
on recommence
Episode 3 et fin
Tu devrais avoir maintenant tous les tableaux et noms en référence correctement inscrits dans les colonnes A et B
Il s'agit de récupérer les valeurs prix et unités pour chaque ingrédient et de les reporter dans les colonnes C et D
on y va par étapes:
pour trouver la position d'une valeur dans un intervalle, on utilise la fonction EQUIV()
syntaxe:
=EQUIV(quoi,ou,vrai/faux)
le quoi: c'est notre ingrédient en colonne B
le ou, c'est notre intervalle nommée en colonne A
vrai/faux = faux (ou 0) , c;est a dire on veut une équivalence exacte.
On a déjà utilisée la fonction INDIRECT() pour récupérer un intervalle d'une valeur de cellule; on opère de la même façon ici.
=EQUIV($B11,INDIRECT($A11),0)
Je ne sais pas si le séparateur est ";" ou "," en France. Moi j'utilise "," (version américaine)
de la, on doit se décaler de une ou deux colonnes a droite pour retrouver les valeurs
Pour se décaler on utilise la fonction DECALER()
syntaxe
=DECALER(quoi, nbre de lignes, nbre de colonnes)
le quoi = encore une fois notre intervalle en colonne A
le nbre de lignes: on vient de le calculer avec la fonction EQUIV()
le nbre de colonnes: 1 ou 2
Donc:
=DECALER(INDIRECT($A11),EQUIV($B11,INDIRECT($A11),0)-1,1)
Tu remarqueras que j;ai mis -1 après la fonction EQUIV(). J'y reviens.
On a presque fini!!
Si tu tapes cette fonction comme ça, elle ne marchera pas. En effet, DECALER() s'utilise pour décaler d'une cellule (d'une adresse unique); mais ici on a in intervalle entier. Il faut donc taper {} ou CTRL-SHIFT-ENTER dans la formule pour qu'elle devienne ce que l'on appelle une formule matricielle (j’espère que c'est comme ca qu'on les appelle en français!).
ok, autour de tout ça, on rajoute un SIERREUR() pour eviter des erreurs si la colonne B est vide et on copie en bas:
{=SIERREUR(DECALER(INDIRECT($A11),EQUIV($B11,INDIRECT($A11),0)-1,1),"")}
Ouf!!
tu respires?
regarde donc les fonctions en colonnes C et D.
Dis-moi si ca te plait
Yves