Page 3 sur 3

Tri alphabétique automatique de données

MessagePublié: 08 Juil 2011 16:25
par Jean-Louis Cadeillan
Pour trier une colonne de valeurs texte par ordre alphabétique, rien de plus simple, me direz-vous, on clique sur A>Z et hop !
Mais si l'on désire avoir, dans une colonne voisine, les mêmes données qui se ré-agencent en ordre alphabétique automatiquement, au fur et à mesure qu'on rajoute des données dans la première, alors là, c'est plus ardu ==> la fonction RANG() est très bien pour cela, mais elle ne fonctionne qu'avec les nombres.
Je vous propose donc le procédé suivant, dont voici le cœur :
Code : Tout sélectionner   AgrandirRéduire
SOMMEPROD($A1>liste)
A1 contenant le mot dont on veut connaître le rang alphabétique dans la liste de mots ; liste étant bien sûr la plage de cellules contenant cette liste de mots.
Comment ça fonctionne ?
  • Ne pas oublier d'abord que SOMMEPROD() est une fonction matricielle, même si la validation se fait par Entrée :
    • A1 est comparé au premier mot de la liste, s'il est supérieur (ce qui veut dire après, alphabétiquement), alors la comparaison retourne un 1 (=VRAI), sinon 0
    • puis A1 est comparé au deuxième mot de la liste, la comparaison là aussi retourne 0 ou 1
    • etc.
    • SOMMEPROD() fera la somme de ces 0 et 1 ==> plus le mot dans A1 sera élevé alphabétiquement (plus proche de la fin du dictionnaire), plus la somme sera élevée : nous avons trouvé un indice de classement alphabétique, qui va de 0 à n.
  • Nous avons utilisé la remarquable propriété le l'opérateur > qui accepte du texte aussi bien que des nombres !
Bien sûr, nous pouvons remplacer SOMMEPROD par SOMME, mais, dans ce cas, avec validation matricielle (Ctrl+Maj+Entrée).
Si, dans la liste de mots, il y a des doublons, il faudra aussi ajouter à l'indice une valeur de distinction (par exemple le n° de ligne/100).
Une mise en œuvre dans le fichier joint. Une autre récente.
 Ajout : J'ai mis à jour le fichier en ajoutant deux autres méthodes, avec une gestion des vides et des doublons, données par gerard24 => merci Gérard :super:
Les explications sont dans le fichier. 

Cordialement
Jean-Louis

Calcul sur les jours ouvrés

MessagePublié: 22 Août 2011 11:54
par Jeff
Dans le classeur ci-joint, pour une date saisie en B1, voici les formules nécessaires pour trouver le :
  • Premier jour du mois
  • Dernier jour du mois
  • Dernier jour ouvré du mois
  • Premier jour ouvré du mois

Si en plus vous renseignez un décalage (positif ou négatif) en nombre de jours en cellule B8, vous trouverez le :
  • Décalage en jours ouvrés
  • Décalage en jours ouvrés + fin du mois ouvré
  • Décalage en jours ouvrés + fin du mois
  • Décalage en jours
  • Décalage en jours + jours ouvré actuel ou précédent
  • Décalage en jours + jours ouvré suivant
  • Décalage en jours ouvrés + début du mois ouvré
  • Décalage en jours ouvrés + début du mois

un aperçu :

Calcul_jours_ouvres.png
Cliquer sur l'image pour zoomer

N.B. : renseignez une plage pour les jours fériés, si vous souhaitez en tenir compte :)

.

Formule de détection de lignes masquées par autofiltre

MessagePublié: 28 Déc 2011 00:51
par Jean-Louis Cadeillan
Bonsoir,
Peut-être cette astuce est-elle déjà référencée, mais je ne l'ai pas repérée...
Si par exemple la ligne 2 d'une plage de données est masquée par l'application d'un autofiltre, il suffit de mettre dans une cellule quelconque la formule :
Code : Tout sélectionner   AgrandirRéduire
=SOUS.TOTAL(2;A1:A1)
Celle-ci retourne 1 si la cellule n'est pas masquée, 0 sinon. Cela ne concerne que le masquage par autofiltre. La formule ne détecte pas le masquage par Format > Ligne > Masquer.
L'argument 2 se réfère à la fonction NB, qui convient pour une valeur numérique. Si la cellule A1 contient une valeur textuelle ou numérique, il faudra utiliser NBVAL ==> code 3
Code : Tout sélectionner   AgrandirRéduire
=SOUS.TOTAL(3;A1:A1)
Pour une application, voir :
Cette détection peut servir dans une MFC, dans des liste de données, dans la combinaison d'autofiltres avec des tris croisés, etc.
Cordialement
Jean-Louis

Affichage des degrés, minutes, secondes d'angles/arcs

MessagePublié: 01 Mars 2012 19:09
par alhazred
Bonjour à tous,

Étant sexagénaire, j'ai gardé l'habitude de travailler avec des degrés sexagésimaux; par exemple, 44° 12' 18'' N -- la latitude d'Agen, ma ville natale, dixit Wikipedia -- me parle plus que son équivalent décimal 44,205° N. Heureusement, le format des heures (qui restera sexagésimal pendant encore un bon moment, on l'espère!) permet de faire une conversion facile dans Calc:

Dans A1, tapez
Code : Tout sélectionner   AgrandirRéduire
44,205
Dans A2, tapez
Code : Tout sélectionner   AgrandirRéduire
=A1/24
Enfin appliquez à A2 le format
Code : Tout sélectionner   AgrandirRéduire
[H]° MM' SS"

On peut aussi, sans formater A2, taper
Code : Tout sélectionner   AgrandirRéduire
=TEXTE(A1/24;"[H]° MM' SS""")
Attention à la répétition des guillemets doubles à l'intérieur de la chaîne

Explication de la division par 24: le nombre de degrés est interprété comme nombre d'heures exprimé en jours...

On peut bien sûr adapter les formats.
Pour une latitude:
Code : Tout sélectionner   AgrandirRéduire
[H]° MM' SS" N;[H]° MM' SS" \S;0°
(L'antislash indiquant que S n'indique pas un chiffre des secondes)
Pour une longitude:
Code : Tout sélectionner   AgrandirRéduire
[H]° MM' SS" E;[H]° MM' SS" O;0°

Maintien à jour des plages dans les formules

MessagePublié: 27 Nov 2013 17:28
par alhazred
Bonjour,

Votre feuille de calcul contient une zone utilisée dans les formules, par un nom ou directement par sa référence.

Le problème, c'est que si vous désirez étendre cette zone par ajout de lignes (ou de colonnes), l'ancienne référence n'est pas modifiée et ne couvre donc pas les nouvelles cellules. Bien sûr, si la zone est nommée, on peut toujours (menu Insertion > Noms > Gérer...) modifier la référence représentée par le nom, mais si la référence est directe, il faudra modifier les formules une à une.

On peut aussi utiliser des plages "géantes", couvrant tous les besoins envisagés, éventuellement avec des colonnes ou ligne entières.

Une autre solution est d'inclure dans la zone une dernière ligne/colonne vide "de garde" et de l'utiliser pour insérer les lignes ou colonnes nécessaires. Les références correspondantes seront alors mises à jour automatiquement.
Pour l'insertion, sélectionner la zone à ajouter, puis clic droit > Insérer... et choisir le déplacement voulu.

Borner le résultat d'une formule

MessagePublié: 10 Déc 2013 15:29
par gerard24
Bonjour,

On veut parfois limiter le résultat d'une formule de calcul à un certain nombre.
Pour la suite la formule de calcul sera nommée du nom original de ma_formule

  1. Limite à la hausse :
    Je souhaite limiter mon résultat à un maximum de 50 (c'est à dire que ma_formule affichera le résultat du calcul s'il est inférieur à 50 et 50 s'il est supérieur)
    On utilise la fonction MIN.
    Code : Tout sélectionner   AgrandirRéduire
    =MIN(ma_formule;50)

  2. Limite à la baisse :
    Je souhaite limiter mon résultat à un minimum de 10 (c'est à dire que ma_formule affichera le résultat du calcul s'il est supérieur à 10 et 10 s'il est inférieur)
    On utilise alors la fonction MAX.
    Code : Tout sélectionner   AgrandirRéduire
    =MAX(ma_formule;10)

  3. Double limite, à la hausse et à la baisse :
    Je souhaite limiter mon résultat à un minimum de 10 et un maximum de 50 (on aura alors le résultat de ma_formule s'il est compris entre 10 et 50, 10 s'il est inférieur et 50 s'il est supérieur)
    On combine les 2 fonctions précédentes.
    Code : Tout sélectionner   AgrandirRéduire
    =MIN(MAX(ma_formule;10);50)

    ou en inversant
    Code : Tout sélectionner   AgrandirRéduire
    =MAX(MIN(ma_formule;50);10)

    Mais comme ce n'est pas toujours facile de se rappeler que l'on "associe" le plafond à MIN et le plancher à MAX (sans réfléchir on aurait tendance à faire l'inverse),
    voici une autre formule avec une seule fonction et donc sans risque de se tromper.

    Code : Tout sélectionner   AgrandirRéduire
    =MEDIANE(ma_formule;10;50)

    On utilise ici MEDIANE avec 3 arguments, donc la fonction renverra toujours la seconde de ces valeurs ordonnées. (qui correspond à la valeur souhaitée)

A+

Calendrier des lundis et vendredis d'une année

MessagePublié: 03 Avr 2014 11:45
par rosaguy
Bonjour,

J'ai eu besoin de produire un calendrier en extrayant uniquement les lundi(s) et vendredi(s), pour prise de rendez-vous.

Pour l'année il suffit de rentrer le premier jour de celle-ci dans la cellule adéquate.

Cela peu éventuellement servir pour d'autres usages voire d'autres jours à extraire (à adapter).

Je joint le classeur.

Bon usage et A+

Déplacer ou copier un diagramme vers une autre feuille

MessagePublié: 14 Avr 2014 13:32
par Jeff
L'issue 122897 concernant la perte de la plage de données en cas de copie ou déplacement d'un diagramme vers une autre feuille est relativement complexe à résoudre, car elle remet en cause l'issue 118840.

:arrow: Pour copier un diagramme sur une même feuille

  • Pour copier un diagramme sur la même feuille, ne pas copier/coller, car le diagramme perds ses plages de données, au (mauvais) profit de la table de données ; il n'y a donc plus d'interaction entre données et diagramme.

    Un des contournements déjà expliqué sur le forum est de presser la touche Ctrl tout en faisant un glisser-déposer, contournement qui fonctionne sans problème


:arrow: Pour déplacer ou copier un diagramme sur une autre feuille

  1. Pour déplacer un diagramme sur une autre feuille
    • Cliquer sur le diagramme à déplacer, sans bouger le curseur de la souris pendant une seconde
    • Le pointeur change de forme, déplacez l'objet sur un nouveau nom d'onglet pendant une seconde (...et ne pas tenir compte du signal "stationnement interdit"), la feuille sélectionnée s'affiche, placez l'objet dessus ; la plage de données est toujours active.
  2. Pour copier un diagramme sur une autre feuille
    • Affichez le navigateur, le diagramme est dans les "Objets OLE"
    • Déployez la liste des objets OLE
      (si vous avez cliquez-droit sur votre diagramme > Nom, c'est le nom "en clair" qui est affiché dans la liste des objets OLE, ce qui est nettement plus pratique)
    • Cliquez-droit sur l'objet OLE voulu, et vérifiez que l'option Mode glisser > Insérer comme copie soit précédé d'une coche.
    • Il suffit alors de faire un glisser-déposer de l'objet sur la feuille

Il est probable que comme 2 issues sont en "concurrences", les contournements ci-dessus soit adoptés comme des comportements voulus.


Trouver la dernière valeur d'une ligne ou colonne

MessagePublié: 31 Oct 2014 20:46
par OOotremer971
Bonjour,

Il faut que l'option d'utilisation des caractères génériques dans les formules soit cochée (menu :Outils>Options>Calc>Calcul) pour l'utilisation de cette formule.

Elle permet de trouver la dernière valeur saisie dans une plage, ligne ou colonne, dont on ignore l'emplacement et le contenu. Lorsque je dis "dernière valeur saisie dans une plage" je ne parle pas de chronologie dans le temps, mais de position en partant de la première cellule de la plage, ligne ou colonne. Notez qu'il est impératif d'avoir au minimum une valeur au format texte sur cette ligne pour que la formule affiche un résultat cohérent, de préférence au début de la plage.

La recherche peut s'étendre à une plage de plusieurs lignes et colonnes, mais avec les particularités et limitations suivantes :

    La recherche dans une plage se limite à la dernière ligne de la plage.
      1) uniquement si la première ligne contient une valeur, quelque soit sa position sur la ligne mais dans la limite de la plage.
      2) uniquement la valeur de la dernière ligne se trouvant dans la même colonne que la dernière valeur contenue dans la première ligne

    Ainsi pour une recherche dans la plage A1:G4 :

      Si rien n'est saisi ligne 1, #N/D est retourné
      ce qui est saisi ligne un deux et trois, n'est pas trouvé.
      Si la dernière cellule non vide de la ligne 1 est en colonne D, seule la valeur contenu en colonne D de la dernière ligne sera trouvée. Les valeurs suivantes sont ignorées

Utilité pour le formatage conditionnel :

    Lorsque la valeur saisie correspond au nom du style à appliquer.
    Code : Tout sélectionner   AgrandirRéduire
    STYLE(RECHERCHE(".*";$A1:A1))

    Le style s'applique alors à toute la ligne, jusqu'à ce qu'un autre soit saisi. Pratique pour les plannings.

A+

Formule barre de progression

MessagePublié: 05 Déc 2014 13:52
par zeguedon
Bonjour,

Une astuce pour créer des barres de progression à partir d'une simple formule.
C'est la valeur numérique d'une cellule adjacente, ou non, qui détermine sa longueur.
Barres.png

La formule :
Code : Tout sélectionner   AgrandirRéduire
=REPT("█";A1)

La couleur de la barre sera la couleur donnée au caractère de la cellule ; par défaut elle est donc noire.

Si vous voulez que la barre change de couleur lors de sa progression

    vous pouvez utiliser le formatage conditionnel pour changer la couleur de la police en fonction de la valeur de A1
    ou
    ajoutez à la formule, avec le signe de concaténation esperluette (&), une autre formule qui utilise la fonction STYLE()
    il faudra créer autant de styles personnalisés, que vous voudrez de couleurs différentes.
    Code : Tout sélectionner   AgrandirRéduire
    =REPT("█";A1)&[Formule qui applique un style selon un critère]

    Par exemple :

    Diviser la valeur de la cellule A1 par 25 retournera 1,2,3, ou 4 selon que nous sommes entre (0 et 25), (25 et 50), (50 et 75), (75 et 100).
    divisé par 50 retournera 1 ou 2 et divisé par 30 : 1, 2, 3 etc etc...
    Avec cette méthode vous pouvez utiliser la fonction CHOISIR() :

    Code : Tout sélectionner   AgrandirRéduire
    CHOISIR(ARRONDI.SUP(A1/25);T(STYLE("rouge"));T(STYLE("orange"));T(STYLE("bleu"));T(STYLE("vert")))


    ce qui donne comme formule finale :
    Code : Tout sélectionner   AgrandirRéduire
    =REPT("█";A1)&CHOISIR(ARRONDI.SUP(A1/25);T(STYLE("rouge"));T(STYLE("orange"));T(STYLE("bleu"));T(STYLE("vert")))


    Avec la fonction SI(), vous saisissez directement la valeur de changement de couleur dans la formule.

    Code : Tout sélectionner   AgrandirRéduire
    SI(A1<25;T(STYLE("ROUGE"));SI(A1<50;T(STYLE("ORANGE");etc etc))

Si par manque de place vous devez réduire la longueur des barres, sans modifier le pourcentage affiché en A1, il suffit de diviser la valeur de A1 par la valeur de réduction souhaitée.
Par exemple pour une barre 2 fois moins longue qui affichera toujours 100%, la valeur de A1 est divisée par 2
Code : Tout sélectionner   AgrandirRéduire
=REPT("█";A1/2)



Pour modifier l'aspect des barres, jouez avec le style de police de caractère, le soulignage, le gras, le contour etc

Le fichier en question :
FormuleBarreDeProgression.ods
Pratique pour mettre en évidence une valeur sans l'utilisation d'un graphique
(43.45 Kio) Téléchargé 235 fois

Raccourcis clavier - correspondance Excel /Calc

MessagePublié: 24 Avr 2015 07:59
par Zelada
Bonjour

Ayant vu plusieurs sujets dans lesquels des personnes cherchent la correspondance d'un raccourci clavier qu'ils avaient l'habitude d'utiliser dans Excel, je vous propose ce tableau :

raccourcis_clavier_excel_calc.jpg



Et pour connaître tous les raccourcis clavier dans LibreOffice

- Raccourcis clavier spécifiques à Calc

- Raccourcis clavier généraux dans LibreOffice

A+

P.S. Peut-être que ce message pourrait être "épinglé"

Écrire une somme en toute lettre

MessagePublié: 03 Nov 2015 12:39
par zeguedon
Bonjour,

J'ignore si cette formule existe déjà. Elle permet d'écrire en toutes lettres une somme de 0,00 euro à 999999,99 euros selon le rapport de 1990 sur les rectifications orthographiques. Je n'ai pas pu tester toutes les possibilités, mais seulement les cas particuliers de chaque tranche. Si vous apercevez une faute d'orthographe, merci de le signaler pour qu'elle soit corrigée.

Dans le fichier joint, une proposition pour AOO constituée de huit cellules fusionnées qu'il suffit de copier vers votre classeur. Il faudra nommer la cellule qui contient la somme en chiffre : ACR.
SommeEnLettre.png
SommeEnLettre.png (7.09 Kio) Consulté 13603 fois

Une autre formule pour Libo qui tient dans une seule cellule, mais qui ne fonctionne pas sous AOO car elle contient trop de caractère (5114).
Code : Tout sélectionner   AgrandirRéduire
=CHOISIR(CNUM(GAUCHE(TEXTE(ENT(ACR);"000000");1))+1;"";"cent-";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf")&SI(CNUM(GAUCHE(TEXTE(ENT(ACR);"000000");1))>=2;"-cent-";"")&CHOISIR(SI(OU(ET(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=71;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))<=79);ET(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=91;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))<=99));PLANCHER(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2));10)/10;(PLANCHER(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2));10)/10)+1);"";"";"vingt";"trente";"quarante";"cinquante";"soixante";"soixante-dix";"quatre-vingt";"quatre-vingt-dix")&SI(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))=71;"-et-";SI(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=20;"-";""))&SI(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);3))=1;"";CHOISIR(SI(OU(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))=1;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))=81);21;SI(OU(ET(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=10;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))<=19);ET(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=71;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))<=79);ET(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))>=91;CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);2))<=99));CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);1)+11);CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);1)+1)));"";"et-un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf";"un")&SI(CNUM(DROITE(GAUCHE(TEXTE(ENT(ACR);"000000");3);3))>=1;"-";""))&SI(ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");3))=0;CNUM(GAUCHE(TEXTE(ENT(ACR);"000000");3))>0);"mille";SI(CNUM(GAUCHE(TEXTE(ENT(ACR);"000000");3))>0;"mille-";""))&CHOISIR(CNUM(GAUCHE(DROITE(TEXTE(ENT(ACR);"000000");3);1))+1;"";"cent";"deux-cent";"trois-cent";"quatre-cent";"cinq-cent";"six-cent";"sept-cent";"huit-cent";"neuf-cent")&SI(ET(CNUM(GAUCHE(DROITE(TEXTE(ENT(ACR);"000000");3);1))>0;CNUM(DROITE(DROITE(TEXTE(ENT(ACR);"000000");3);2))>0);"-";SI(CNUM(GAUCHE(DROITE(TEXTE(ENT(ACR);"000000");3);1))>1;"s";""))&CHOISIR(SI(OU(ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>=71;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<=79);ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>=91;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<=99));PLANCHER(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2));10)/10;(PLANCHER(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2));10)/10)+1);"";"";"vingt";"trente";"quarante";"cinquante";"soixante";"soixante-dix";"quatre-vingt";"quatre-vingt-dix")&SI(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))=71;"-et-";SI(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))=80;"s";""))&SI(ET(ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");1))>0;CNUM(GAUCHE(DROITE(TEXTE(ENT(ACR);"000000");2);1))>0);OU(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<10;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>19));"-";"")&CHOISIR(SI(OU(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))=1;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))=81);21;SI(OU(ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>=10;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<=19);ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>=71;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<=79);ET(CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))>=91;CNUM(DROITE(TEXTE(ENT(ACR);"000000");2))<=99));CNUM(DROITE(TEXTE(ENT(ACR);"000000");1)+11);CNUM(DROITE(TEXTE(ENT(ACR);"000000");1)+1)));"";"et-un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf";"un")&SI(CNUM(TEXTE(ENT(ACR);"000000"))=0;" zéro virgule ";" virgule ")&CHOISIR(SI(OU(ET(CNUM(DROITE(TEXTE(ACR;"000000,00");2))>=71;CNUM(DROITE(TEXTE(ACR;"000000,00");2))<=79);ET(CNUM(DROITE(TEXTE(ACR;"000000,00");2))>=91;CNUM(DROITE(TEXTE(ACR;"000000,00");2))<=99));PLANCHER(CNUM(DROITE(TEXTE(ACR;"000000,00");2));10)/10;(PLANCHER(CNUM(DROITE(TEXTE(ACR;"000000,00");2));10)/10)+1);"";"";"vingt";"trente";"quarante";"cinquante";"soixante";"soixante-dix";"quatre-vingt";"quatre-vingt-dix")&SI(CNUM(DROITE(TEXTE(ACR;"000000,00");2))=71;"-et-";SI(CNUM(DROITE(TEXTE(ACR;"000000,00");2))=80;"s";""))&SI(ET(ET(CNUM(DROITE(TEXTE(ACR;"000000,00");1))>0;CNUM(GAUCHE(DROITE(TEXTE(ACR;"000000,00");2);1))>0);OU(CNUM(DROITE(TEXTE(ACR;"000000,00");2))<10;CNUM(DROITE(TEXTE(ACR;"000000,00");2))>19));"-";"")&CHOISIR(SI(OU(CNUM(DROITE(TEXTE(ACR;"000000,00");2))=1;CNUM(DROITE(TEXTE(ACR;"000000,00");2))=81);21;SI(OU(ET(CNUM(DROITE(TEXTE(ACR;"000000,00");2))>=10;CNUM(DROITE(TEXTE(ACR;"000000,00");2))<=19);ET(CNUM(DROITE(TEXTE(ACR;"000000,00");2))>=71;CNUM(DROITE(TEXTE(ACR;"000000,00");2))<=79);ET(CNUM(DROITE(TEXTE(ACR;"000000,00");2))>=91;CNUM(DROITE(TEXTE(ACR;"000000,00");2))<=99));CNUM(DROITE(TEXTE(ACR;"000000,00");1)+11);CNUM(DROITE(TEXTE(ACR;"000000,00");1)+1)));"";"et-un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf";"un")&SI(CNUM(TEXTE(ACR;"000000,00"))=0;"zéro euro";SI(CNUM(DROITE(TEXTE(ACR;"000000,00");2))=0;"zéro euros";" euros"))

Attention, si le classeur est ouvert ne serait-ce qu'une seule fois avec AOO, la formule pour Libo disparait.
Pour AOO, lors de la fusion des cellules, il faut cliquer sur "Non" à la demande : "Déplacer le contenu des cellules cachées dans la première cellule ?"

et le fichier qui va avec :

Tirage aléatoire - Tri et dédoublonnage -

MessagePublié: 16 Fév 2016 22:14
par zeguedon
Bonjour,

Un petit utilitaire de tirage aléatoire avec formules de tri croissant et décroissant ainsi que dédoublonnage:

Utilitaire de calcul d'angles et distances

MessagePublié: 03 Avr 2016 13:47
par OOotremer971
Bonjour à tous :)

Un petit utilitaire pour calculer des angles et des distances à partir de valeurs connues :
UtilitaireCalculAngles.png

Tracer un cintre selon une corde et une flèche

MessagePublié: 02 Juin 2016 14:52
par Jeff
Bonjour à tous,

Sortit des limbes archivées de mon disque dur, ce petit utilitaire (qui n’a rien à voir avec Guillaume Tell ou Robin des Bois, malgré le titre du post), sert à tracer le cintre en calculant le rayon, selon la corde (largeur) et la flèche (hauteur) que l’on veut donner à, par exemple, une ouverture :

Calcul_cintre.png
Cliquer sur l’image pour zoomer


Une case à cocher permet de supprimer les traits de construction pour une meilleure appréciation visuelle :

Calcul_cintre_epure.png
Cliquer sur l’image pour zoomer




calcul_cintre.ods
(39.14 Kio) Téléchargé 142 fois