Problème de fonction VBA avec des dates

Bonjour à tous,

J'ai un problème avec une fonction, elle prend en paramètre deux dates au format jj/mm/aaaa et doit utiliser ces dates pour effectuer une procédure la voici :

J'ai un tableau avec en ligne des jours, et en colonne les mois correspondants (en nombre et non en lettre); à chaque case du tableau correspond un coefficient.

Je souhaiterais créer une fonction qui à partir de deux dates, effectue la somme de chacun des coefficients du tableau entre ces deux dates. Pour cela, j'ai créé la fonction suivante : ici, date1 et date2 sont mes deux dates et t est mon tableau.

Public Function DJU(date1 As Date, date2 As Date, t As Integer) As Integer

'n est le nbr de jours entre les deux dates d1 et d2, S est la somme totale

Dim n As Integer, S As Integer

Dim d1 As Date

d1 = date1

'on calcul n et on initialise S à 0

n = Evaluate(DateDiff("d", d1, d2)) - 1

S = 0

'Pour toutes les dates entre d1 et d2, on va cherché le coefficient correspondant dans le tableau t

For i = 0 To n Step 1

d1 = d1 + i

j = Evaluate(Day(d1)) + 1

m = Evaluate(Month(d1))

S = S + Application.WorksheetFunction.HLookup(m, t, j, FAUX)

Next i

DJU = S

End Function

Cette fonction ne marche pas et je débute en VBA...

Merci à tous pour vos réponses.

Cordialement

En fait quand j'utilise cette dernière, excel me renvoie un message d'erreur !VALEUR; il y aurait donc un(des) problème de typage des variables.

Bonjour,

Un petit fichier avec des explications et le résultat attendu est nécessaire pour recevoir de l'aide du forum

Oui, excusé moi.

Dans le fichier ci dessous, il y a le tableau dont je parlais avec en ligne les jours et en colonne les mois.

On donne deux dates à ma fonction : 01/09/2012 et 05/09/2012; et un tableau, ici B2:K33.

Cette fonction doit sommer tous les coefficients du tableau entre ces deux dates.

C'est à dire ici : B3 + B4 + B5 + B6 = 6+3+1+2 = 12

projet
Rechercher des sujets similaires à "probleme fonction vba dates"