IL me semble que je suis mal comprisBonjour KTM,
Comme les mois semblent s'incrémenter, alors on peut utiliser simplement : =MAX(3:3)
Très formidablePlus rapide et sans Alea() pour recalculer.
=INDEX(3:3;MAX(SIGNE(SOUS.TOTAL(3;DECALER(A4:A10;;COLONNE(3:3)-1)))*COLONNE(3:3)))
Le problème de la nouvelle colonne, c'est que ce n'est peut être pas applicable dans le fichier utilisé ( je suppose que KTM n'a fourni qu'un court extrait )
=INDEX(3:3;MAX(SI(B4:M10<>"";COLONNE(B4:M10);"")))
=SIERREUR(INDEX(3:3;GRANDE.VALEUR(SI(B4:M10<>"";COLONNE(B4:M10);"");1));"")
=INDEX(3:3;MAX(SI(4:10<>"";COLONNE(4:10))))
Function DernierMois(plage As Range)
If plage.Rows.Count = 1 Then Exit Function
Dim c As Range
Set c = plage.Rows(2).Resize(plage.Rows.Count - 1).Find("*", , xlValues, , xlByColumns, xlPrevious)
If Not c Is Nothing Then DernierMois = plage(1, c.Column - plage.Column + 1)
End Function