Bonjour à tous,
Je souhaite créer une fonction avec l'éditeur VBA mais je n'arrive pas à effectuer ce que je désirais faire:
J'ai un tableau représentant
- les lignes représentent des jours, indicés de 1 à 30
- en colonne représentent des mois, indicés de 1 à 12
on a donc une matrice de coefficients de taille nxp = 30x12
Je souhaiterais à partir de deux dates jj/mm/aaaa et bb/nn/cccc, effectuer une somme des coefficients de la matrice entre ces deux dates, il faut donc que j’extraie :
=> le nombre de jour entre ces deux dates
=> le jour et le mois d'une date
Voici ce que j'ai effectué : date1 et date2 sont mes deux dates, t est mon tableau
Public Function DJU(date1 As Date, date2 As Date, t As Integer) As Double
Dim n As Integer, S As Double
n = WorksheetFunction.DateDiff(date2, date1, "D")
S = 0
For i = 0 To (n - 1) Step 1
date1 = DateAdd("d", i, date1)
j = WorksheetFunction.JOUR(date1)
m = WorksheetFunction.MOIS(date1)
S = S + WorksheetFunction.RechercheH(m, t, (j + 1), FAUX)
Next i
DJU = S
End Function
Cette fonction ne marche pas, je pense que c'est un problème de format de la date, un problème récurent sous Excel d'après ce que j'ai lu. Quelqu'un aurait il une idée de l'erreur que je commets.
Merci à tous.
Je souhaite créer une fonction avec l'éditeur VBA mais je n'arrive pas à effectuer ce que je désirais faire:
J'ai un tableau représentant
- les lignes représentent des jours, indicés de 1 à 30
- en colonne représentent des mois, indicés de 1 à 12
on a donc une matrice de coefficients de taille nxp = 30x12
Je souhaiterais à partir de deux dates jj/mm/aaaa et bb/nn/cccc, effectuer une somme des coefficients de la matrice entre ces deux dates, il faut donc que j’extraie :
=> le nombre de jour entre ces deux dates
=> le jour et le mois d'une date
Voici ce que j'ai effectué : date1 et date2 sont mes deux dates, t est mon tableau
Public Function DJU(date1 As Date, date2 As Date, t As Integer) As Double
Dim n As Integer, S As Double
n = WorksheetFunction.DateDiff(date2, date1, "D")
S = 0
For i = 0 To (n - 1) Step 1
date1 = DateAdd("d", i, date1)
j = WorksheetFunction.JOUR(date1)
m = WorksheetFunction.MOIS(date1)
S = S + WorksheetFunction.RechercheH(m, t, (j + 1), FAUX)
Next i
DJU = S
End Function
Cette fonction ne marche pas, je pense que c'est un problème de format de la date, un problème récurent sous Excel d'après ce que j'ai lu. Quelqu'un aurait il une idée de l'erreur que je commets.
Merci à tous.