Formule match sous VBA

Résolu/Fermé
quentiiin68 - Modifié par quentiiin68 le 14/09/2016 à 10:00
 quentiiin68 - 14 sept. 2016 à 10:45
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

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 sept. 2016 à 10:43
Re,

c = Application.Match(CLng(CDate(d)), Sheets("Funds Data").Rows(3), 0)
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 sept. 2016 à 10:18
Bonjour,

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

d = InputBox("Mois du rapport? Format (dd/mm/yyyy)")
0
Génial, merci beaucoup :)
0