Merci beaucoup !
Je n'ai pas tout compris, mais j'ai gardé au chaud pour plus tard ...
Mireille

christianwtd a écrit :
Bonjour à tous,

J'ai fabriqué 3 fonctions supplémentaires pour Calc : INITIALES, SUPPRIME_ACCENTS et DATE_DIF, librement utilisables et téléchargeable (10 ko) ici :
http://christianwtd.free.fr/FicExemple/FonctionsPlus.ods

Il s'agit d'un classeur vide, mais qui contient un module macro intitulé : ModuleFonctionsPlus Si ces fonctions vous semblent utiles, vous pouvez les appliquer pour tous les classeurs. Une méthode simple en image vers le milieu de page est ici :
http://christianwtd.free.fr/index.php?rubrique=BasFunction01
Les pages suivantes donnent des explications sur les fonctions présentées.

Restriction d'emploi : si un classeur circule entre différents utilisateurs et matériels, il faut soit que les fonctions accompagnent les classeurs, soient que tous les utilisateurs les aient installées.

INITIALES permet d'extraire les initiales d'un nom ou d'un prénom, simple ou composé, séparé par des espaces et / ou des tirets.
=INITIALES(Texte; Separateur; Majuscules)
Texte entre guillemets, ou adresse de cellule (A1)
Separateur (option) par défaut le point (.)
Majuscules (option) par défaut en majuscules (1) ou 0, sans action.


SUPPRIME_ACCENTS et qui permet de supprimer les tous les accents d'un texte, des majuscules et / ou minuscules.
=SUPPRIME_ACCENTS(Texte, Majuscules, Minuscules)
Texte entre guillemets, ou adresse de cellule (A1)
Majuscules et Minuscules en option, 1 par défaut pour supprimer et 0 pour ne pas agir. Exemple :
=SUPPRIME_ACCENTS(A1; 1; 0)
supprime les accents des majuscules du texte en A1, mais ne s'occupe pas des minuscules.
=SUPPRIME_ACCENTS(A1)
supprime tous les accents.



une fonction DATE_DIF qui va calculer des écarts entre 2 dates. Suivant les options possibles, les résultats peuvent être combinés en jours, semaines, mois, années C'est la plus "lourde" des fonctions, notamment pour une compatibilité avec Excel. =DATE_DIF(DateDebut; DateFin; Unite1; Unite2; Unite3; SemaineDebut; AnneeDebut)
DateDebut et DateFin obligatoire, entre guillemets ou adresse de cellules
Unite1; Unite2; Unite3 : au moins une unité obligatoire et 2 en options. Les unités sont : Y ou A Le nombre d'années entières comprises dans la période (Y pour compatibilité Excel) M ou YM La différence entre les mois de DateDebut et DateFin. Les jours et les années des dates ne sont pas pris en compte. (YM pour compatibilité Excel) D ou J ou MD La différence entre les jours de DateDebut et DateFin. Les mois et les années des dates ne sont pas pris en compte. (D ou MD pour compatibilité Excel) YD La différence entre les jours de DateDebut et DateFin. Les années des dates ne sont pas prises en compte. (YD pour compatibilité Excel)
W     Différences en semaines
WW Différences en semaines. L'option SemaineDebut a une action SemaineDebut Option. Utile uniquement avec W ou WW AnneeDebut Option. Utile uniquement avec WW et si SemaineDebut présent

Vous pouvez ajouter des textes à la suite des unités, par exemple :
=DATE_DIF(A1; B1; "a, ans "; " m, mois "; " j, jours")
retourne :
3 ans 5 mois 7 jours


SemaineDebut
0     Valeur système par défaut
1     Dimanche (par défaut)
2     Lundi
3     Mardi
4     Mercredi
5     Jeudi
6     vendredi
7     Samedi

Remarques
* Chaque unité peut-être accompagnée d'un texte, séparé par une virgule ou un point-virgule. (virgule ou point-virgule pour simplifier l'écriture).
* Les unités sont indifférentes à la casse majuscules / minuscules.
* Les espaces avant ou après les unités sont sans incidences.
* Les espaces avant et après les textes d'accompagnements sont importants. * Les options SemaineDebut et AnneeDebut ne servent que dans le calcul WW. En revanche, pour ce calcul précis (une seule unité), il faudra écrire : =DATE_DIF(DateDebut; DateFin; "ww"; ""; ""; SemaineDebut; AnneeDebut) pour éviter tout risque d'erreurs. * Le résultat est toujours sous forme de texte. Ainsi si vous désirez récupérer une valeur en mois, il faudra faire : =CNUM(DATE_DIF(DateDebut; DateFin; "m"))

Cas particulier
Exemple : calcul de différence entre le 31/01/2006 et le 01/03/2006.
=DATE_DIF("31/01/2006"; "01/03/2006"; "a, ans "; " m, mois "; " j, jours") retourne :
0 ans 1 mois -2 jours
Pas simple, mais logique. Il y a bien 1 mois d'écart, mais comme le mois en question n'a que 28 jours, il y a un écart négatif de 2 jours.


Bon surf,
Christian


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à