Microsoft 365 Formule par tranche

FCMLE44

XLDnaute Impliqué
Bonjour

Je cherche à faire une formule pour déterminer un montant dû en fonction d'une grille

Je m'explique
En feuille URSSAF, j'ai une grille
La colonne A de cette feuille correspond à la donnée inscrite en colonne G de la feuille Données

En colonne H de la feuille Données, je fais une formule en fonction de la grille en feuille URSSAF
=SI(G3="salarié sorti";0;SI(ET(G3=5;B3<=5000);SOMME(B3*0,636);SI(ET(G3=5;B3=5001<>20000);SOMME(B3*0,0357)+1395;SI(ET(G3=5;B3>20000);SOMME(B3*0,0427);""))))

Cela fonctionne bien pour ma prémière condition mais pas aprés
Quelqu'un aurait il une idée ?
 

Pièces jointes

  • Classeur1.xlsx
    11.4 KB · Affichages: 4
Solution
Bonjour.
Peut être en H3, à propager sur 3 colonnes :
Code:
=SI(G3="salarié sorti";0;MAX(MIN(
B3*INDEX({0,636;0,665;0,697};MIN($G3;7)-4);
B3*INDEX({0,357;0,374;0,394};MIN($G3;7)-4)+INDEX({1395;1457;1515};MIN($G3;7)-4));
B3*INDEX({0,427;0,447;0,47};MIN($G3;7)-4)))
Mais pour une formule aussi compliquée je préfère m'écrire une fonction perso en VBA.

nat54

XLDnaute Barbatruc
Bonjour,

Je pensais + à quelque chose comme ça.
Il y a quelques jours j'avais vu une solution mais je ne m'en souviens plus avec somme.si.ens je crois
 

Pièces jointes

  • Classeur1(5).xlsx
    13.6 KB · Affichages: 3
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Peut être en H3, à propager sur 3 colonnes :
Code:
=SI(G3="salarié sorti";0;MAX(MIN(
B3*INDEX({0,636;0,665;0,697};MIN($G3;7)-4);
B3*INDEX({0,357;0,374;0,394};MIN($G3;7)-4)+INDEX({1395;1457;1515};MIN($G3;7)-4));
B3*INDEX({0,427;0,447;0,47};MIN($G3;7)-4)))
Mais pour une formule aussi compliquée je préfère m'écrire une fonction perso en VBA.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 765
Messages
2 112 719
Membres
111 644
dernier inscrit
dagga