Ok alors en relisant et en mettant les mains dedans, est-ce que tu veux, c'est "simplement" crée le nombre de lignes définies en face de l'année? Parce que si c'est ça, le code est relativement simple :
Sub RepartSimple()
Dim n As Integer
n = 1
For i = 2 To Sheets("Feuil1").Cells(2, 1).End(xlDown).Row
For j = 1 To Sheets("Feuil1").Cells(i, 2) + 1
Sheets("Feuil3").Cells(n, 2) = Sheets("Feuil1").Cells(i, 1)
n = n + 1
Next j
Next i
End Sub
Mais là dedans y a plus rien d'aléatoire, juste la répartition "arbitraire" qui a été faite je ne sais comment!
si c'est plus de l'aléatoire entre 2 dates que tu veux faire, ça ressemblerai plutôt à ça :
Sub RepartAleat()
Dim n As Integer
n = 1
For i = 2 To Sheets("Feuil1").Cells(2, 1).End(xlDown).Row
For j = 1 To Sheets("Feuil1").Cells(i, 2)+1
Sheets("Feuil2").Cells(n, 2) = Sheets("Feuil1").Cells(i, 1) + Rnd() * (Sheets("Feuil1").Cells(i + 1, 1) - Sheets("Feuil1").Cells(i, 1))
n = n + 1
Next j
Next i
End Sub
Tu me diras!
Edit : Évidement dans tout ça, il faut que t'adaptes le noms des feuilles et éventuellement les cellules concernées (c'est cells(ligne,colonne) au cas où, pour pas que t'ai à chercher!)