Hello,
Dans les fonctions matricielles impossible d'utiliser les ; c'est pour ça qu'elle ne fonctionne pas.
=SOMMEPROD(--(MOIS($B$1:$AF$1)=B33)*(ANNEE($B$1:$AF$1)=B37)*(($B$3:$AF$29<>"")))
Copie cette formule ça devrait être largement mieux
Pour répondre à ta question au sujet de l'explication :
J'ai mis 1 à 12 car la fonction MOIS() renvoie le mois en chiffre (donc janvier = 1 etc ...) et non en lettre.
Une fonction matricielle de type SOMMEPROD fonctionne tel quelle :
Etape 1 : Elle regarde si le mois de B1 correspond au mois de B33, si c'est le cas elle renvoie VRAI, convertie par -- en valeur 1.
Etape 2 : Elle regarde alors la même chose pour l'année, si c'est le cas elle renvoie VRAI, convertie par -- en valeur 1.
Etape 3 : Elle regarde alors pour le caractère cellule non vide sur B3 a AD29 donc compte le nombre de cellule non vide. Admettons que tu en ai 5 elle fait alors 1*1*5 pour la colonne B (d'où les * car les 3 critères doivent être respectés, si on aurait voulu mettre "ET" on aurait utilisé +. Et ainsi de suite jusqu'à la colonne AF.
Et ensuite elle fait la SOMME des résultats des différentes colonnes.
Voilà j'espère ne pas m'être trompé dans l'explication, si tu veux plus d'info penche toi sur les fonctions matricielles et SOMMEPROD sur internet