Je me suis rendu compte que le code livré avec le fichier ne fonctionnait pas, celui que je vous fais de nouveaux parvenir ne fonctionne pas mieux mais au moins n'a pas d’erreur d’exécution
Les cumuls se font bien lors de la 1ere boucle de la variable j mais lors de la seconde boucle, je n'arrives pas à lui indiquer de créer une nouvelle dimensions dans le tableau si DateDiff est différent de 0.
Sub Calcul_TN()
Dim Tablo_data, Tablo_cumul_temp
Dim i&, j&, e&
Dim c As Date, d As Date
'Définition de la variable de type tableau
Tablo_data = Sheets("Feuil1").Range("B2").CurrentRegion
ReDim Tablo_cumul_temp(1 To UBound(Tablo_data, 1) - 1, 1 To 1)
e = 0
For j = 3 To UBound(Tablo_data, 2)
'Affectation des dates aux variables
c = lundiSemaine(CInt("20") & CInt(Mid(Tablo_data(1, 2), 5, 2)), CInt(Mid(Tablo_data(1, 2), 2, 2)))
d = lundiSemaine(CInt("20") & CInt(Mid(Tablo_data(1, j), 5, 2)), CInt(Mid(Tablo_data(1, j), 2, 2)))
ReDim Preserve Tablo_cumul_temp(1 To UBound(Tablo_data, 1) - 1, 1 To e + 2)
If DateDiff("m", c, d) = e Then
Tablo_cumul_temp(2 + e, 1) = Tablo_data(3 + e, 1)
For i = 3 To UBound(Tablo_data, 1)
Tablo_cumul_temp(1, e + 2) = UCase(Format(c, "mmm-yy"))
If i = 3 Then
Tablo_cumul_temp(i - 1, e + 2) = Tablo_cumul_temp(i - 1, e + 2) + Tablo_data(i, j - 1) + Tablo_data(i, j)
Else
Tablo_cumul_temp(i - 1, e + 2) = Tablo_cumul_temp(i - 2, e + 2) + Tablo_data(i, j - 1) + Tablo_data(i, j)
End If
Next i
e = e + 1
End If
Next j
End Sub