Trucs et astuces pour Calc

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.

Tri alphabétique automatique de données

Messagepar Jean-Louis Cadeillan » 08 Juil 2011 16:25

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
Pièces jointes
TriAlphaAuto_02.ods
Tri alphabétique automatique
(25.35 Kio) Téléchargé 766 fois
Dernière édition par Jean-Louis Cadeillan le 22 Août 2011 23:47, édité 1 fois.
LibO 6.2.7.1 (x64 avec Java 1.8.0_231) et AOO 4.1.6 (avec Java x32 1.8.0_201), Windows 7 Édition Intégrale 64 SP1, (Domicile)
LibO 5.4.1.2 (x86) sous Ubuntu LTS 16.04.1, noyau 4.4.0-93 et Xfce 4.12, Java (x86) 1.8.0_131 (Travail) [obligation de version]
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4477
Inscrit le : 03 Jan 2009 00:56

Calcul sur les jours ouvrés

Messagepar Jeff » 22 Août 2011 11:54

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 :)

.
Pièces jointes
Jours_ouvrés.ods
(9.78 Kio) Téléchargé 450 fois
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Debian Stable LXDE i686 10.1 (buster) et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8130
Inscrit le : 18 Sep 2006 10:40
Localisation : France

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

Messagepar Jean-Louis Cadeillan » 28 Déc 2011 00:51

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
LibO 6.2.7.1 (x64 avec Java 1.8.0_231) et AOO 4.1.6 (avec Java x32 1.8.0_201), Windows 7 Édition Intégrale 64 SP1, (Domicile)
LibO 5.4.1.2 (x86) sous Ubuntu LTS 16.04.1, noyau 4.4.0-93 et Xfce 4.12, Java (x86) 1.8.0_131 (Travail) [obligation de version]
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4477
Inscrit le : 03 Jan 2009 00:56

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

Messagepar alhazred » 01 Mars 2012 19:09

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°
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)

Maintien à jour des plages dans les formules

Messagepar alhazred » 27 Nov 2013 17:28

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.
Pièces jointes
Agrandir une zone.PNG
Agrandir une zone.PNG (9.21 Kio) Consulté 18155 fois
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)

Borner le résultat d'une formule

Messagepar gerard24 » 10 Déc 2013 15:29

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+
Dernière édition par gerard24 le 30 Déc 2014 09:37, édité 1 fois.
OOodidacte
LibreOffice 6.2.4 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3129
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Calendrier des lundis et vendredis d'une année

Messagepar rosaguy » 03 Avr 2014 11:45

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+
Pièces jointes
Calendrier Lundi & vendredi..ods
(24.99 Kio) Téléchargé 341 fois
OpenOffice 4.1.1 LibO 4.3.6
Windows 7 Familiale premium 64 bits

"Si cela va sans le dire, ça va toujours mieux en le disant et en le montrant" Joindre un fichier
Vous avez la solution : Baliser [Résolu]
rosaguy
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 311
Inscrit le : 11 Déc 2012 11:08
Localisation : Vallée du Grésivaudan

Déplacer ou copier un diagramme vers une autre feuille

Messagepar Jeff » 14 Avr 2014 13:32

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.

Jeff
GourOOu
GourOOu
 
Message(s) : 8130
Inscrit le : 18 Sep 2006 10:40
Localisation : France

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

Messagepar OOotremer971 » 31 Oct 2014 20:46

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+
Dernière édition par OOotremer971 le 10 Avr 2015 12:35, édité 1 fois.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2088
Inscrit le : 16 Avr 2010 14:31

Formule barre de progression

Messagepar zeguedon » 05 Déc 2014 13:52

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
Comment baliser [Résolu] ?
AOO 4.1.5
LibreOffice 5.4.5.1
Ubuntu 18.04 LTS
zeguedon
ManitOOu
ManitOOu
 
Message(s) : 2565
Inscrit le : 02 Juil 2014 18:25

Raccourcis clavier - correspondance Excel /Calc

Messagepar Zelada » 24 Avr 2015 07:59

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é"
LibreOffice 3.6.5.2 (version imposée) sous Windows XP SP3 au bureau
Avatar de l’utilisateur
Zelada
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 930
Inscrit le : 27 Fév 2013 15:55

Écrire une somme en toute lettre

Messagepar zeguedon » 03 Nov 2015 12:39

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é 13559 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 :
Pièces jointes
EcrireSommeEntouteLettre.ods
(17.68 Kio) Téléchargé 194 fois
Comment baliser [Résolu] ?
AOO 4.1.5
LibreOffice 5.4.5.1
Ubuntu 18.04 LTS
zeguedon
ManitOOu
ManitOOu
 
Message(s) : 2565
Inscrit le : 02 Juil 2014 18:25

Tirage aléatoire - Tri et dédoublonnage -

Messagepar zeguedon » 16 Fév 2016 22:14

Bonjour,

Un petit utilitaire de tirage aléatoire avec formules de tri croissant et décroissant ainsi que dédoublonnage:
Pièces jointes
TirageAleatoire.ods
(16.49 Kio) Téléchargé 150 fois
TirageAleatoire.png
Comment baliser [Résolu] ?
AOO 4.1.5
LibreOffice 5.4.5.1
Ubuntu 18.04 LTS
zeguedon
ManitOOu
ManitOOu
 
Message(s) : 2565
Inscrit le : 02 Juil 2014 18:25

Utilitaire de calcul d'angles et distances

Messagepar OOotremer971 » 03 Avr 2016 13:47

Bonjour à tous :)

Un petit utilitaire pour calculer des angles et des distances à partir de valeurs connues :
UtilitaireCalculAngles.png
Pièces jointes
UtilitaireACalculAngles.ods
(17.95 Kio) Téléchargé 168 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2088
Inscrit le : 16 Avr 2010 14:31

Tracer un cintre selon une corde et une flèche

Messagepar Jeff » 02 Juin 2016 14:52

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é 141 fois
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Debian Stable LXDE i686 10.1 (buster) et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8130
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Précédent

Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)