Formule match sous VBA

Résolu
Bonjour,

Je dois utiliser la formule Excel match dans une de mes macros VBA. Dans mon code, la valeur a cherché est une variable, en l'occurence une date (variable d). Voici la ligne de code:

c = Application.WorksheetFunction.Match(d, Sheets("Funds Data").Rows(3), 0)


Ma macro est incapable de faire fonctionner la fonction match. Cependant, si je rentre la date à la main en A1 et transforme le code comme ci-dessous, cela marche très bien:

c = Application.WorksheetFunction.Match(Cells(1,1), Sheets("Funds Data").Rows(3), 0)


Cependant, je suis obligé de créer une variable pour la date, car j'ai parfois besoin de chercher des données rétroactives.

Quelq'un saurait-il m'aider ?

Merci d'avance.

4 réponses

  1. Re,

    c = Application.Match(CLng(CDate(d)), Sheets("Funds Data").Rows(3), 0)
    1. Bonjour,

      La variable d est declaree comment et comment est_elle ecrite ??
      1. d est déclaré en string et est écrite:

        d = InputBox("Mois du rapport? Format (dd/mm/yyyy)")