Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Bonjour,

Pour faire suite à mon précédent message sur User à propos d'une formule testant qu'une saisie est bien une date mise en forme comme une vrai date.

J'ai élaboré (en attendant) la formule suivante :
A1= cellule à tester
B2=ET(OU(TYPE(A1)=1;TYPE(A1)=8);CELLULE("FORMAT";A1)>="D1";CELLULE("FORMAT";A1)<="D5";MAINTENANT()=MAINTENANT())

Je propose que l'on ajoute une fonction à LibO Calc pour réaliser cette tâche en natif.

Le nom possible :
US : ISDATEWELLFORMATTED(...;[...];[...])
FR : ESTDATEBIENFORMATE(...;[...];[...])

Les paramètres possibles :
1er obligatoire : Référence de la cellule testée (bien tester que indirect() est accepté)

2de facultatif : Caractère => CODE du TYPE de format attendu
(voir CELLULE("FORMAT";REF_CELL) Ex. "'D1'-'D5'" pour tester une valeur numérique ayant un format de type D1 et D5; ou ">='D1'-<='D5'" pour tester une valeur ayant un format de type compris entre ... soit date simple, date raccourcis, tronqué, ou complété d'un heure)

                      Par défaut "'D1'" (date au format simple DD-MM-AAAA ou assimilé)

3ème facultatif : Caractère => Description du format personnalisé personnalisé (TYPE=G par le fonction CELLULE("FORMAT";REF)) attendu avec une description ou doit être placé le DD les MM et les AA (ex. "\"année \"" YYYY \" le \" MM \" jour \" DD") A noter j'ai mis le \ en caractère d'Esc, je suis pas sûr que ce soit le plus approprié pour LibO.

                                Par défaut pas de prise en charge d'un format personnalisé

Pour simplifier les codes erreurs retournés, je pense que seul un problème de paramètre doit être 
signalé en cas d'erreur.

Cette fonction n'existant apparemment pas dans MS Excel, je pense qu'il faut prévoir dès maintenant comment elle serait convertie par le filtre pour pouvoir obtenir un maximum de compatibilité lorsque l'on enregistrerai au format concurrent.

A noter que cette fonction doit faire partie des fonctions réévalués systématiquement si une cellule est modifié dans la classeur au même titre que maintenant() et alea().

La fonction CELLULE("";) devrait d'ailleurs aussi être dans ce cas...

En espérant avoir fait avancé la chose...

A+

Samuel

--
Envoyez un mail à discuss+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/discuss/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.