Rapport de message :*
 

Re: Besoin d'aide Fonction SI.

Titre du sujet : Re: Besoin d'aide Fonction SI.
par JeanMarie le 15/09/2007 10:20:40

Bonjour Oxor,

La solution proposée de Didier, est bonne.
La fonction CONCATENER peut recevoir jusqu'à 30 arguments ce qui largement suffisant pour les 19 "code" prix.
Pour palier à ce problème, on pourrait remplacer dans la formule, l'utilisation de la fonction CONCATENER par le caractère "&". Le placement de ce caractère, n'est pas à placer en début, mais entre chaque condition SI.
Ce qui donnerait ceci.
=1*(SI(OU(B3="7A";B3="7B";B3="7C");3,18;"")&SI(B3="6A";3,04;"")&SI(B3="6B";3;"")&SI(B3="6C";2,97;"")&SI(B3="5A";2,77;"")&SI(B3="5B";2,67;"")&SI(B3="5C";2,46;"")&SI(B3="4A";2,5;"")&SI(B3="4B";2,1;"")&SI(OU(B3="4C";B3="3A");1,69;"")&SI(B3="3B";1,35;"")&SI(B3="3C";1;"")&SI(B3="2A";0,97;"")&SI(B3="2B";0,85;"")&SI(B3="2C";0,6;"")&SI(B3="G";0;""))

Dans cette formule, pour les codes ayant la même valeur à retourner, j'ai supprimé des conditions SI(...=...;...;...) par l'utilisation de la fonction OU(...;...), pour en diminuer la longueur.

Il est à noter, qu'un "code" inconnu saisi dans la cellule B3, retournera un message d'erreur #VALEUR!.

Il y a une autre possibilité, c'est l'utilisation d'une liste de référence.
Pour cela il faut créer sur la même feuille ou une feuille annexe, une liste de correspondance Code / Prix
|   Y    |   Z    
--|--------|--------|-
 
1Code   |Prix    
 
27A     |   3,18 
 
37B     |   3,18 
 
47C     |   3,18 
 
56A     |   3,04 
 
66B     |      
 
76C     |   2,97 
 
85A     |   2,77 
 
95B     |   2,67 
105C     |   2,46 
114A     |    2,
124B     |    2,
134C     |   1,69 
143A     |   1,69 
153B     |   1,35 
163C     |      
172A     |   0,97 
182B     |   0,85 
192C     |    0,
20G      |      |


Ensuite avec l'utilisation de la formule
=RECHERCHEV(B3;Annexe!Y:Z;2;FAUX)

cette formule retourne le prix en fonction de code indiqué dans la cellule B3
A NOTER, qu'un "code" inconnu dans la liste, retournera un message d'erreur #N/A

Si vous avez des questions, n'hésitez pas

@+Jean-Marie