En fait j'ai effectivement une fonction avec énormement de choix différents: environ 23 choix possible mais non pas selon la valeur d'une variable mais selon l'intervalle dans lequel elle se situe.
select Case ne me permet pas de travailler avec ces intervalles, y a t il une astuce ou dois-je forcer les if, elsif, else?
Merci par avance
PS: le code:
Public Function parametres(ByVal dod As Date) As Double
If dod < #6/30/2008# Then
txdecote = 0
durass = 150
ageannuldec = 0
ElseIf dod > #6/30/2008# And dod < #1/1/2009# Then
txdecote = 0
durass = 151
ageannuldec = 0
ElseIf dod > #12/31/2008# And dod < #7/1/2009# Then
txdecote = 0
durass = 152
ageannuldec = 0
ElseIf dod > #6/30/2009# And dod < #1/1/2010# Then
txdecote = 0
durass = 153
ageannuldec = 0
ElseIf dod > #12/31/2009# And dod < #7/1/2010# Then
txdecote = 0
durass = 154
ageannuldec = 0
ElseIf dod > #6/30/2010# And dod < #1/1/2011# Then
txdecote = 0.00125
durass = 155
ageannuldec = 61
ElseIf dod > #12/31/2010# And dod < #7/1/2011# Then
txdecote = 0.00125
durass = 156
ageannuldec = 61
ElseIf dod > #6/30/2011# And dod < #1/1/2012# Then
txdecote = 0.0025
durass = 157
ageannuldec = 61.5
ElseIf dod > #12/31/2011# And dod < #7/1/2012# Then
txdecote = 0.0025
durass = 158
ageannuldec = 61.5
ElseIf dod > #6/30/2012# And dod < #12/1/2012# Then
txdecote = 0.0025
durass = 159
ageannuldec = 62
ElseIf dod > #11/30/2012# And dod < #7/1/2013# Then
txdecote = 0.00375
durass = 160
ageannuldec = 62
ElseIf dod > #6/30/2013# And dod < #7/1/2014# Then
txdecote = 0.005
durass = 161
ageannuldec = 62.25
ElseIf dod > #6/30/2014# And dod < #7/1/2015# Then
txdecote = 0.00625
durass = 162
ageannuldec = 62.5
ElseIf dod > #6/30/2015# And dod < #7/1/2016# Then
txdecote = 0.0075
durass = 163
ageannuldec = 62.75
ElseIf dod > #6/30/2016# And dod < #7/1/2017# Then
txdecote = 0.00875
durass = 164
ageannuldec = 63
ElseIf dod > #6/30/2017# And dod < #7/1/2018# Then
txdecote = 0.01
durass = 165
ageannuldec = 63.25
ElseIf dod > #6/30/2018# And dod < #7/1/2019# Then
txdecote = 0.01125
durass = 166
ageannuldec = 63.5
ElseIf dod > #6/30/2019# And dod < #7/1/2020# Then
txdecote = 0.0125
durass = 167
ageannuldec = 63.75
ElseIf dod > #6/30/2020# And dod < #7/1/2021# Then
txdecote = 0.0125
durass = 168
ageannuldec = 64
ElseIf dod > #6/30/2021# And dod < #7/1/2022# Then
txdecote = 0.0125
durass = 169
ageannuldec = 64.25
ElseIf dod > #6/30/2022# And dod < #7/1/2023# Then
txdecote = 0.0125
durass = 170
ageannuldec = 64.5
ElseIf dod > #6/30/2023# And dod < #7/1/2024# Then
txdecote = 0.0125
durass = 171
ageannuldec = 64.75
ElseIf dod > #6/30/2024# Then
txdecote = 0.0125
durass = 172
ageannuldec = 65
End If
End Function
Alex