Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Feuille excel

9 réponses
Avatar
Henri
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri

9 réponses

Avatar
Jacky
Bonsoir,

A tester...Peut-être
En F1
=SI(C1=1;SI(E1*4>D1;D1;E1*4);SI(E1*3>D1;D1;E1*3))
En G1
=SI(C1=1;0;SI(E1*3>D1;D1-E1;E1*3))


--
Salutations
JJ


"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri




Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Cela me semble a priori lourd pour une formule "classique"
Si t'es pas contre une fonction VBA, voici ceci, à tester.

Option Explicit

Function base_de_retraite_non_cadre(Cadre As Integer, Brut As Currency, SS
As Currency) As Currency
Dim BRNC As Currency
If Cadre = 1 Then 'non cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 4 * Brut Then
BRNC = 4 * Brut
End If
End If
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 3 * Brut Then
BRNC = 3 * Brut
End If
End If
End If
base_de_retraite_non_cadre = BRNC
End Function

Function base_de_retraite_cadre_Tranche_B(Cadre As Integer, Brut As
Currency, SS As Currency) As Currency
Dim BRCTB As Currency
If Cadre = 1 Then 'non cadre
BRCTB = 0
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRCTB = 0
Else
BRCTB = SS
If BRCTB > 3 * Brut Then
BRCTB = 3 * Brut
End If
End If
End If
base_de_retraite_cadre_Tranche_B = BRCTB
End Function


Cdt, Blaise
---- ---- ----


"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri




Avatar
Jacky
Re..
En G1
=SI(C1=1;0;SI(E1*3>D1;(D1-E1)*(D1>E1);E1*3))

--
Salutations
JJ


"Jacky" a écrit dans le message de news:

Bonsoir,

A tester...Peut-être
En F1
=SI(C1=1;SI(E1*4>D1;D1;E1*4);SI(E1*3>D1;D1;E1*3))
En G1
=SI(C1=1;0;SI(E1*3>D1;D1-E1;E1*3))


--
Salutations
JJ


"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri








Avatar
Henri
Bonjour,
Je ne connais pas encore VBA, si tu pouvais me guider ou me donner un lien
pour pouvoir inclure cela dans une cellule d'excel?
Merci pour ton aide
Henri

"Blaise Cacramp" a écrit dans le message de news:


Selon : Bonjour ou bonsoir

Cela me semble a priori lourd pour une formule "classique"
Si t'es pas contre une fonction VBA, voici ceci, à tester.

Option Explicit

Function base_de_retraite_non_cadre(Cadre As Integer, Brut As Currency, SS
As Currency) As Currency
Dim BRNC As Currency
If Cadre = 1 Then 'non cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 4 * Brut Then
BRNC = 4 * Brut
End If
End If
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 3 * Brut Then
BRNC = 3 * Brut
End If
End If
End If
base_de_retraite_non_cadre = BRNC
End Function

Function base_de_retraite_cadre_Tranche_B(Cadre As Integer, Brut As
Currency, SS As Currency) As Currency
Dim BRCTB As Currency
If Cadre = 1 Then 'non cadre
BRCTB = 0
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRCTB = 0
Else
BRCTB = SS
If BRCTB > 3 * Brut Then
BRCTB = 3 * Brut
End If
End If
End If
base_de_retraite_cadre_Tranche_B = BRCTB
End Function


Cdt, Blaise
---- ---- ----


"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri








Avatar
Sam
Bonjour,
En F1
=MIN(D1;(5-C1)*E1)
en G1
=MIN((C1=2)*(D1>E1)*(D1-E1);3*E1)
Cordialement
Michel dit "Sam"

"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri




Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

C'est simple.


Ouvrir le fichier Excel. Ouvrir l'IDE avec ALT+F11 (Alphonse)
Menu Insertion, Module
copier / coller le code
Sauvegarder, fermer l'IDE
Dans la cellule Excel, utilisez Insertion, Fonction, Catégorie :
Personnalisée.
Vous y verrez la liste de vos fonctions.

Chose importante : si cette fonction doit être recalculée à chaque
changement dans la feuille, incluez la méthode « application.Volatile » au
sein de la fonction.

Cdt, Blaise
---- ---- ----


"Henri" a écrit dans le message de news:

Bonjour,
Je ne connais pas encore VBA, si tu pouvais me guider ou me donner un lien
pour pouvoir inclure cela dans une cellule d'excel?
Merci pour ton aide
Henri

"Blaise Cacramp" a écrit dans le message de news:


Selon : Bonjour ou bonsoir

Cela me semble a priori lourd pour une formule "classique"
Si t'es pas contre une fonction VBA, voici ceci, à tester.

Option Explicit

Function base_de_retraite_non_cadre(Cadre As Integer, Brut As Currency,
SS As Currency) As Currency
Dim BRNC As Currency
If Cadre = 1 Then 'non cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 4 * Brut Then
BRNC = 4 * Brut
End If
End If
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRNC = SS
Else
BRNC = SS
If BRNC > 3 * Brut Then
BRNC = 3 * Brut
End If
End If
End If
base_de_retraite_non_cadre = BRNC
End Function

Function base_de_retraite_cadre_Tranche_B(Cadre As Integer, Brut As
Currency, SS As Currency) As Currency
Dim BRCTB As Currency
If Cadre = 1 Then 'non cadre
BRCTB = 0
ElseIf Cadre = 2 Then 'cadre
If Brut < SS Then
BRCTB = 0
Else
BRCTB = SS
If BRCTB > 3 * Brut Then
BRCTB = 3 * Brut
End If
End If
End If
base_de_retraite_cadre_Tranche_B = BRCTB
End Function


Cdt, Blaise
---- ---- ----


"Henri" a écrit dans le message de news:
%23b%
Bonjour,
Je souhaite mettre des SI dans une feuille Excel mais j'ai quelques
soucis.
Voilà mon problème.
J'ai un tableau avec 5 colonnes C,D,E,F,G.
et xx lignes
Dans la colonne C, j'indique à chaque ligne 1 non cadre ou 2 cadre
Dans la colonne D le montant brut
Dans la colonne E le plafond SS
Dans la colonne F la base de retraite non cadre
Dans la colonne G la base de retraite cadre Tranche B

Pas de problème pour les colonnes C D E.

Pour la colonne F, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 F1= D1
Si C1 = 1 et si D1 > E1 F1= D1 avec un maximum de 4 fois E1

Si C1 = 2 et si D1 < E1 F1 = D1
Si C1 = 2 et si D1 > E1 F1 = D1 avec un maximum de 3 fois E1

Pour la colonne G, je souhaite indiquer :

Si C1 = 1 et si D1 < E1 G1 = 0
Si C1 = 1 et si D1 > E1 G1 = 0

Si C1 = 2 et si D1 < E1 G1 = 0
Si C1 = 2 et si D1 > E1 G1 = D1-E1 avec un maximum de 3 fois E1

Pas moyen de résoudre cela, si vous pouviez me donner des conseils.
Merci d'avance

Henri












Avatar
Henri
Bonjour Blaise,


Ouvrir le fichier Excel. Ouvrir l'IDE avec ALT+F11 (Alphonse)
Menu Insertion, Module
copier / coller le code



c'est à dire copier/coller de Option explicit à la fin ?

Sauvegarder, fermer l'IDE



Sauvegarder où ?

Dans la cellule Excel, utilisez Insertion, Fonction, Catégorie :
Personnalisée.



J'ai Excel 1997 et je ne vois pas Catégorie ; Personnalisée

Vous y verrez la liste de vos fonctions.



Chose importante : si cette fonction doit être recalculée à chaque
changement dans la feuille, incluez la méthode « application.Volatile » au
sein de la fonction.



Même chose, je ne vois pas application.Volatile au sein de la fonction.

Merci d'avance pour ton aide.

Henri
Avatar
Henri
Bonjour,
J'ai trouvé:
en F1
=SI(C1=1;SI(D1<á;+D1;SI(D1<E1*4;+D1;+E1*4));SI(c1=2;SI(D1<á;+D1;+E1);"ERREUR"))

en G1
=SI(c1=1;0;SI(B1=2;SI(D1<á;0;SI(+D1-E1<á*3;+D1-E1;3*E1));"ERREUR"))

Merci pour ton aide
henri
Avatar
Blaise Cacramp
"Henri" a écrit dans le message de news:

Bonjour Blaise,


Ouvrir le fichier Excel. Ouvrir l'IDE avec ALT+F11 (Alphonse)
Menu Insertion, Module
copier / coller le code



c'est à dire copier/coller de Option explicit à la fin ?


OUI

Sauvegarder, fermer l'IDE



Sauvegarder où ?



CLIQUER sur la disquette, c'est sauvegardé dans le fichier Excel


Dans la cellule Excel, utilisez Insertion, Fonction, Catégorie :
Personnalisée.



J'ai Excel 1997 et je ne vois pas Catégorie ; Personnalisée




97, mes souvenirs s'émoussent. Peut-être "macro" à la place de
personnalisée ?

Vous y verrez la liste de vos fonctions.



Chose importante : si cette fonction doit être recalculée à chaque
changement dans la feuille, incluez la méthode « application.Volatile »
au sein de la fonction.



Même chose, je ne vois pas application.Volatile au sein de la fonction.



BIN oui : je vous dis de la rajouter ;-)


Merci d'avance pour ton aide.

Henri




Recherchez chez les bouquineurs un livre VBA Excel 97 à le couverture noir
et jaune