Conditions SI imbriquées

Résolu
Alex -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour tout le monde,

Je rencontre des difficultés avec les conditions "SI" imbriquées. J'ai réussi à faire une première partie, mais je bloque pour la suite.
J'utilise Excel 2010. Je tente en format xlsx.

Concrètement, j'ai crée un fichier pour faciliter le traitement de Notes de frais.
Dans la feuille, j'indique le nombre de nuit, le prix de chaque nuit. La feuille calcule dans une cellule le montant total des nuits (nbr de nuit * montant de la nuit) et calcule dans une autre cellule le "montant à rembourser".
==> Pour calculer le montant à rembourser, s'il est inférieur au plafond, on prend le montant. S'il est supérieur au plafond, on prend le plafond.
==> Selon que je sois à Paris, ou ailleurs, le plafond de remboursement de l'Hôtel n'est pas le même. J'ai stocké les plafonds dans une feuille différente de mon classeur (pour pouvoir les modifier facilement).

A ce stade, j'arrive à gérer le cas de Paris, mais je n'arrive pas à y associer le cas des "Autres" villes.

Voici ma formule actuelle :
=SI(ET(C11="Paris";'Note de frais'!O11>('Note de frais'!M11*Paramètres!G5));'Note de frais'!M11*Paramètres!$G5;O11)

Colonne C : Lieu de déplacement (= Liste déroulante avec "Paris" ou "Autre" mais on peut y saisir autre chose)
Colonne M : Nombre de nuits
Colonne N : Prix par nuit
Colonne O : Montant à prendre en compte (= M*N)

Comment faire pour que en complément de cette première condition, si C11 est différente de "Paris", alors le plafond à vérifier soit dans Paramètres!G6 ?
J'utilise mal les ET et le OU j'imagine mais à force d'essayer dans tous les sens je n'y arrive plus.

Votre aide serait plus (mais vraiment plusss) qu'appréciée.
N'hésitez pas à me faire préciser si je ne suis pas clair.

Bonne journée !

4 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
Bonjour

Essaies avec la structure suivante

=SI(C11="Paris"
    ;SI('Note de frais'!O11>'Note de frais'!M11*Paramètres!G5
        ;'Note de frais'!M11*Paramètres!$G5
        ;O11)
    ;la partie sinon de C11 = "Paris"
   )


RQ. attention aux parenthèses

Cdlmnt
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
ZZ. Message modifié à 15h53
0
via55 Messages postés 14730 Statut Membre 2 749
 
Bonjour Alex

Ce n'est pas un SI qu'il faut mais un MIN associé à une RECHERCHEV dans le tableau des plafonds
exemple avec 2 possibilités de liste, à adapter : https://www.cjoint.com/c/JDiopvYVHQf

Cdlmnt
Via

0
Alex
 
Bonjour à tous les deux,

Un grand merci !!

La solution de ccm81 fonctionne très bien pour moi avec seulement 1 lieu à tester et une solution unique si le test ne passe pas, ainsi une fois complet :

=SI(C11="Paris";
SI('Note de frais'!O11>'Note de frais'!M11*Paramètres!$G$5
;'Note de frais'!M11*Paramètres!$G$5
;O11)
;SI('Note de frais'!O11>'Note de frais'!M11*Paramètres!$G$6
;'Note de frais'!M11*Paramètres!$G$6
;O11)
)


Je vais quand même implémenter la solution de via55 avec MIN et RechercheV, qui après test marche très bien aussi ! Et qui sera plus évolutive si ma politique de plafonds se précise avec des lieux en plus.

Elle ressemble à ceci (j'y ai rajouté une condition pour ne pas afficher si elle est vide ou = à 0) :
=SI(M11*N11=0
;""
;(MIN(O11
;SIERREUR(RECHERCHEV(C11
;Paramètres!$F$5:$G$6
;2
;0)
;Paramètres!$G$6)*M11)
)
)


Un grand merci à tous les deux encore une fois. Réactifs, efficaces, et cela m'a permis de mieux comprendre pourquoi je bloquais.
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
Au cas où tu garderais la première solution, en utilisant l'ide de via55, c'est plus concis
=SI(C11="Paris"
    ;MIN('Note de frais'!O11;'Note de frais'!M11*Paramètres!G5)
    ;MIN('Note de frais'!O11;'Note de frais'!M11*Paramètres!G6)
   )


Cdlmnt
0