Bonsoir,
Je pense que tu n'as pas trop le choix pour un truc comme ça.
En formules, ce sera beaucoup plus compliqué, et en matière de date, je conseillerais plutôt toujours de passer par VBA, car il y a des différences entre Excel et VBA en la matière !
Dans ton cas, les dates qui étaient déjà reconnues comme date par Excel et spontanément converties, pas de problème, VBA les reconnait aussi. Mais d'autres qui ne l'étaient pas par Excel, l'étaient par VBA (notamment celles à un chiffre pour le quantième de jour précédé d'une espace, pour plusieurs mois).
D'où tu noteras dans mon code que si la réponse au test IsDate est vrai, on convertit en date, conversion qui entraînera la reconnaissance par Excel. On ne fait une substitution de mois que dans les cas où ni Excel ni VBA n'ont reconnu. On convertit en date aussi ensuite... (la conversion à pour but d'obliger VBA à recourir aux paramètres régionaux FR, on l'utilise habituellement pour empêcher les inversions mois/jours lorsque la date est en chiffres, pas ce risque avec un mois littéral, mais sans conversion VBA aurait renvoyé l'abréviation anglaise... qu'Excel FR aurait continué à rejeter).
Cordialement.