Oublions les matricielles (arrayformula), prenons la formule en D2
date(YEAR(A2)+B2*vlookup(C2;'paramètres'!$A:$D;4;0);MONTH(A2)+B2*vlookup(C2;'paramètres'!$A:$D;3;0);DAY(A2)+B2*vlookup(C2;'paramètres'!$A:$D;2;0)))
J'ai fait un tableau qui me donne ce qu'il faut ajouter aux années/mois/jours selon le choix de l'intervalle
du coup j'utilise bien la fonction date comme toi en me basant sur la date d'origine
date(YEAR(A2);MONTH(A2);DAY(A2))
en ajoutant ensuite pour l'année, le mois et le jour une valeur issue du tableau (et multipliée par le nombre).
On utilise alors vlookup ou recherchev (c'est la même chose) pour obtenir les valeurs du tableau.
Cette façon m'a paru plus flexible à l'écriture. On peut imaginer ajouter quinzaine, bimestre ...
Petite singularité ... quand on est le 31 janvier et qu'on ajoute un mois ... quelle est la date ? c'est l'objet de la formule en F1 que je peux détailler plus tard si tu la retiens.
j'aimerais dans une quatrième colonne calculer une récurrence, et afficher la prochaine occurence à venir.
Mais désolé en effet, je n'ai pas tenu compte de ta demande de prochaine occurrence, je vais m'y pencher.