Application.WorksheetFunction.VLookup #Error

Bonjour,

J'ai écrit une fonction qui stoppe sur la ligne Application.WorksheetFunction.VLookup

    While firstAmortDate <= valuationDate
        amortPercentage = Application.WorksheetFunction.VLookup(firstAmortDate, amortization, 2, True)
        principalRemaining = principalRemaining - amortPercentage
'        firstAmortDate = firstAmortDate + (daysInYear / amortFrequency)
        firstAmortDate = Application.WorksheetFunction.EDate(firstAmortDate, repetition)
    Wend

J'ai également essayé d'utiliser juste Application.VLookup ou WorksheetFunction.VLookup mais ça ne fonctionne pas.

La commande cherche une date dans un range et me renvoie le pourcentage.

J'ai mis "true" parce que si la date recherchée est par exemple le 30/12/2022 et dans le tableau on a le 29/12/2022, alors qu'il me renvoie le pourcentage associé au 29/12/2022.

Pouvez-vous m'aider ?

6amortization.txt (5.80 Ko)

J'ajoute également ce fichier avec des valeurs test pour faciliter la compréhension.

Merci d'avance.

8test.xlsm (20.87 Ko)

bonjour HiggsB,

je vois que vous continuez à votre façon, une manière assez compliqué ...

Bon, firstAmortDate est une date et il faut le convertir vers un integer ou un double, la colonne K sont des integers qui ressemblent à une date, donc essayez

amortPercentage = Application.WorksheetFunction.VLookup(cdbl(firstAmortDate), amortization, 2, True)

PS. Je n'ai pas testé le reste, parce que je ne le comprends pas.

Merci BsAlv

amortPercentage = Application.WorksheetFunction.VLookup(cdbl(firstAmortDate), amortization, 2, True)

ça me donne le résultat espéré. C'est parfait !

PS : Oui, j'utilise une autre méthode parce qu'avec ce qu'on a fait avant certains scenarios extremes ont fait crasher la fonction.

Merci beaucoup pour votre aide

Rechercher des sujets similaires à "application worksheetfunction vlookup error"