Fonction dans une fonction

Salut,

Je veux qu'une nouvelle fonction retourne la somme du résultat de deux fonctions. Comment faire ?

Comment je peux nommer une fonction existante (que j'ai crée) pour l'utiliser dans une nouvelle fonction ?

Merci à l'avance.

Bonjour VBAStud,

Je prends un exemple :

Fonction N°1 :

Public Function F1(x As Integer) As Integer
F1 = x^2
End Function

Fonction N°2 :

Public Function F2(y As Integer) As Integer
F2 = y^3
End Function

Et enfin la fonction N°3 qui contient les résultats des fonctions 1 et 2 :

Public Function F3(x As Integer, y As integer) As Integer
F3 = F1(x) + F2(y)
End Function

Et :

XLMent vôtre,

Joe.

Bonjour VBAStud, CCMJoe

Et c'est quoi cette formule au fait !

Bonjour à tous,

Je ne sais pas quelle est la formule initiale. J'ai juste donné des fonctions "exemples" pour monter comment utiliser une fonction dans une fonction.

A+

Joe.

La formule est celle-ci:

Function ImpotProv(x) As Currency

If x <= 28710 Then

ImpotProv = 0.16 * x

ElseIf 28710 < x < 57430 Then

ImpotProv = (0.2 * (x - 28710)) + 4594

ElseIf x > 57430 Then

ImpotProv = (0.24 * (x - 57430)) + 10338

End If

End Function

Function ImpotFed(y) As Currency

If y <= 36378 Then

ImpotFed = y * 0.15

ElseIf 36378 < y < 72756 Then

ImpotFed = (0.22 * (y - 36378)) + 5456

ElseIf 72756 < y < 118285 Then

ImpotFed = (0.26 * (y - 72756)) + 13460

ElseIf y > 118285 Then

ImpotFed = (0.29 * (y - 118285)) + 25297

End If

End Function


Et là, je veux que la fonction ImpotTot retourne la somme des résultats des deux autre fonctions. De la façon dont tu me l'as indiqué Joe, la nouvelle fonction (ImpotTot) calcule les deux autres fonctions avec deux paramètres. Je voudrais que la fonction ImpotTot aie un paramètre qui additionne les deux autres fonction. Tu vois le genre ?

Merci,

Bonjour,

Mauvaise syntaxe à rectifier...

Bonjour,

Essaie ainsi :

Function ImpotProv(x) As Currency
    Select Case x
        Case Is <= 28710
            ImpotProv = 0.16 * x
        Case Is <= 57430
            ImpotProv = (0.2 * (x - 28710)) + 4594
        Case Else
            ImpotProv = (0.24 * (x - 57430)) + 10338
    End Select
End Function

Function ImpotFed(y) As Currency
    Select Case y
        Case Is <= 36378
            ImpotFed = y * 0.15
        Case Is <= 72756
            ImpotFed = (0.22 * (y - 36378)) + 5456
        Case Is <= 118285
            ImpotFed = (0.26 * (y - 72756)) + 13460
        Case Else
            ImpotFed = (0.29 * (y - 118285)) + 25297
    End Select
End Function

Function ImpotTotal(x, y) As Currency
    ImpotTotal = ImpotProv(x) + ImpotFed(y)
End Function

Est-ce que je peux ffaire quelque chose de la sorte pour avoir un seul paramètre :

Je sais que ça fonctionne pas, mais j'aimerais quelque chose de ce genre. Sinon, ça calcule deux fois les impot provinciaux et fédéraux.

Function Impottot(x, y) As Currency

Dim m as Variant

Dim n as Variant

Dime ctotal as Currency

For m = ImpotProv(x)

For n = ImpotFed(y)

ctotal = m+n

Impottot = ctotal

End Function

Re,

Prends un peu de recul, relis toi et reviens vers nous avec une demande claire et précise.

Cdlt.

Rechercher des sujets similaires à "fonction"