Fonction Problème

Fermé
Sonnedonc Messages postés 5 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 16 janvier 2016 - Modifié par Sonnedonc le 16/01/2016 à 19:59
f894009 Messages postés 16904 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 18 mars 2023 - 17 janv. 2016 à 09:20
Bonjour,

Je suis nouveau dans VBA.
J'ai tapé ce code ci :
------------

Function DRA(Investissement, Flux As Range, Taux)
Dim NbEcheance As Integer
NbEcheance = Flux.Rows.Count

x = -Investissement
For i = 1 To NbEcheance
x = x + (Flux.Cells(i, 1) / ((1 + Taux) ^ i))

If x > 0 Then
GoTo FinDeRecherche
End If
If x = 0 Then
GoTo FinDeRecherche2
End If

Next i


FinDeRecherche: DRA = i - 1 & " ans et"
FinDeRecherche2: DRA = i & " ans"


End Function

-------

Mais quand x>0, il m’envoie directement dans la FinDeRecherche2
Alors que selon ma logique quand x>0 il doit m'amener vers le résultat FinDeRecherche: DRA = i - 1 & " ans et"
Et quand x= 0 il doit m'amener vers le résultat FinDeRecherche2: DRA = i & " ans"

Merci d'avance,

1 réponse

f894009 Messages postés 16904 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 18 mars 2023 1 678
Modifié par f894009 le 17/01/2016 à 09:20
Bonjour,

Mais quand x>0, il m’envoie directement dans la FinDeRecherche2
Non,d'abord:
FinDeRecherche: DRA = i - 1 & " ans et"
et
FinDeRecherche2: DRA = i & " ans"

car il faut un exit function entre les deux lignes de code pour sortir si x>0
0