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]