Bonjour,
Pourriez-vous me "traduire" le code ci-dessous que vous m'aviez donné il y a déjà quelque temps déjà pour un de mes tableurs.
Je dois travailler à nouveau sur ce tableur et souhaiterais ré-utiliser ce code avec quelques adaptations.
Je n'ai pas conservé le décodage que vous m'aviez sans doute fourni à l'époque.
Je crois comprendre qu'il s'agit de l'écriture d'une formule qui s'appelle SALAIRE.
J'ai vu dans mon tableur que plusieurs formules font référence à cette formule "SALAIRE" :
exemples :
-SI((E14>$A12)+ESTERR(Salaire($E14:E21;E39))+ENT(ALEA());"";E14)
-SI((O14>$A12)+ESTERR(Salaire($E14:O21;O39));"";O14)
-SI(E46="";"";TRONQUE(Salaire($E14:E21;E39+E30);2)+ENT(ALEA()))
-SI(P46="";"";TRONQUE(Salaire($E1421;P39+P30);2))
Voici le code à déchiffrer :
Function Salaire!(P As Range, prime!)
Dim derlig&, i%, n As Byte, an%, w As Worksheet
derlig = P.Rows.Count
For i = P.Columns.Count - 1 To 1 Step -1
n = n + 1
Salaire = Salaire + P(derlig, i)
If n = 3 Then GoTo 1
Next
an = Year(P(1)) - 1 'année précédente
For Each w In Worksheets
If Year(w.Range(P(1).Address)) = an Then Exit For
Next
If w Is Nothing Then End
For i = n + 10 To 12 'complément d'octobre à décembre
Salaire = Salaire + w.Range(P(derlig, i).Address)
Next
1 Salaire = Salaire / 3 + prime
End Function
Votre aide me serait à nouveau précieuse;
Merci par avance pour votre réponse
A bientôt
Pourriez-vous me "traduire" le code ci-dessous que vous m'aviez donné il y a déjà quelque temps déjà pour un de mes tableurs.
Je dois travailler à nouveau sur ce tableur et souhaiterais ré-utiliser ce code avec quelques adaptations.
Je n'ai pas conservé le décodage que vous m'aviez sans doute fourni à l'époque.
Je crois comprendre qu'il s'agit de l'écriture d'une formule qui s'appelle SALAIRE.
J'ai vu dans mon tableur que plusieurs formules font référence à cette formule "SALAIRE" :
exemples :
-SI((E14>$A12)+ESTERR(Salaire($E14:E21;E39))+ENT(ALEA());"";E14)
-SI((O14>$A12)+ESTERR(Salaire($E14:O21;O39));"";O14)
-SI(E46="";"";TRONQUE(Salaire($E14:E21;E39+E30);2)+ENT(ALEA()))
-SI(P46="";"";TRONQUE(Salaire($E1421;P39+P30);2))
Voici le code à déchiffrer :
Function Salaire!(P As Range, prime!)
Dim derlig&, i%, n As Byte, an%, w As Worksheet
derlig = P.Rows.Count
For i = P.Columns.Count - 1 To 1 Step -1
n = n + 1
Salaire = Salaire + P(derlig, i)
If n = 3 Then GoTo 1
Next
an = Year(P(1)) - 1 'année précédente
For Each w In Worksheets
If Year(w.Range(P(1).Address)) = an Then Exit For
Next
If w Is Nothing Then End
For i = n + 10 To 12 'complément d'octobre à décembre
Salaire = Salaire + w.Range(P(derlig, i).Address)
Next
1 Salaire = Salaire / 3 + prime
End Function
Votre aide me serait à nouveau précieuse;
Merci par avance pour votre réponse
A bientôt