Bonjour,
J'ai eu besoin de la fonction est ESTDATE (équivalent de ESTNUM pour les dates) mais je ne l'ai pas trouvé.
Apparemment elle n'existe pas dans le tableur. J'ai donc tenté de réaliser une formule équivalente.
J'en suis arrivé à cela...
A1= cellule à tester
B2=ET(OU(TYPE(A1)=1;TYPE(A1)=8);CELLULE("FORMAT";A1)>="D1";CELLULE("FORMAT";A1)<="D5";MAINTENANT()=MAINTENANT())
Cette formule retourne true ou false si la cellule testée est une date
(saisie ou calculé par formule mais pas une chaine de caractère)
dont la valeur numérique est bien mis en forme avec au minimum l'affichage du mois et de l'année ou du mois et du jour (ex. 11/2010 ou 31/12)
Remarque : Cette formule ne prend pas en compte les mises en forme personnalisées qui renverraient bien ces informations mais dans un format "G" (tout les autres formats) (voir l'aide de CELLULE("FORMAT";A1)
Remarque 2 : On peut vouloir imposer la présence des valeurs JOUR MOIS et ANNEE en mettant non pas une fourchette allant de D1 à D5 mais en mettant D1 OU D4.
J'avais bien trouvé sur internet NON(ESTERREUR(ANNEE(A1))), mais je pouvais avoir n'importe qu'elle valeur numérique qui semblait être une valeur date valide.
Je n'ai pas réussi à utiliser DATEVAL() avec autre chose que des chaines de caractère en paramètres.
Qu'en pensez vous, est-ce la meilleure solution ?
N'existe-il pas plus simple... ?
Est-ce compatible avec les tableurs concurrent (j'en doute un peu) ?
A noter : J'ai mis le maintenant()=maintenant() pour forcer la réévaluation systématique de la fonction cellule à chaque mise à jour du tableau (même le F9 n'agit sans ça).
A+
Samuel Mounier
