Bonjour Samuel,
Le 28/06/2011 15:16, Samuel Mounier (Liste CGO) a écrit :
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
J'ai suivi ce fil avec intérêt. Mais au départ, pourquoi veux tu tester
si c'est une date ??
Si c'est une formule alors, facile que ce soit une date. Et verrouillage
de la cellule.
Si c'est de la saisie, pourquoi ne pas bloquer la saisir avec la
validation de données ?
Si c'est de la récupération de données... Alors, tu as ta fonction ;-)
Marie jo
--
Envoyez un mail à [email protected] pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés