Feuille excel

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #20549301
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" %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




Blaise Cacramp
Le #20549421
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" %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




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

--
Salutations
JJ


"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" %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








Henri
Le #20555311
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"

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" %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








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

"Henri" %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




Blaise Cacramp
Le #20558581
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"
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"

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" %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












Henri
Le #20565881
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
Henri
Le #20566611
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
Blaise Cacramp
Le #20567741
"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 ?


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
Publicité
Poster une réponse
Anonyme