[Résolu] Formule TEMPS (heure négative) : passage OOo à LibO

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.
sicavinfa
Fraîchement OOthentifié
Messages : 2
Inscription : 12 juin 2013 07:40

[Résolu] Formule TEMPS (heure négative) : passage OOo à LibO

Message par sicavinfa »

Bonjour,

d'abord merci pour ce forum sur lequel j'ai trouvé des tas de solutions à mes problèmes (j'ai réussi à faire un tableau Calc pour mes calculs d'horaire sous OOo avec tous les détails que je voulais).
Mon problème (pour lequel je n'ai pas trouvé de réponse) : nous venons de changer OOo pour LibO, et là, patatras, mon tableau débloque :cry: .
je suppose que LibO ne gère pas les heures négatives comme OOo avec TEMPS(-hh;0;0)...
Y-a-t-il un autre moyen de gérer des formules TEMPS avec heures négatives sur LibO?
Je joins un le tableau que j'utilise si cela peut vous aider à saisir mon problème (il commence à débloquer au 1er juin...)

merci d'avance de l'aide que vous pourrez m'apporter et qui forcément remontera mon moral
parce que je venais de finir de passer mon tableau de Excel à OOo tout en l'améliorant grâce aux mises en formes conditionnelles et calculs directs sur le temps (sans passer par des sommes de minutes) quand hier, nous sommes passés à LibO...
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par sicavinfa le 13 juin 2013 10:44, modifié 2 fois.
Passage de OpenOffice 3.2.1 à LibreOffice Version 4.0.3.3
Windows XP pro 5.1
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: formule TEMPS(heure négative) problème de passage OOo à

Message par alhazred »

Bonjour,

Que ce soit AOO ou LibO (voir versions dans ma signature) un nombre négatif dans TEMPS renvoie une Erreur 512...

D'autre part, TEMPS ne peut retourner qu'un nombre (d'heures) entre 0 et 24, ce qui fait que TEMPS(-12;0;0), s'il fonctionnait, serait exactement égal à TEMPS(12;0;0)...

Ne comprenant pas trop ces calculs, je ne peux guère qu'émettre une remarque : est-il normal qu'à partir du premier juin, les formules en colonne N soient radicalement différentes des précédentes ?

TEMPSVAL accepte les textes négatifs, par exemple TEMPSVAL("-3:0") correspond à 21h

Mais si tu veux utiliser des valeurs réellement négatives pour des calculs (avec aussi possibilité de dépasser 24), il faudra convertir les heures en jours, par exemple -3/24 pour l'exemple précédent.

À mon avis, ton problème vient d'une confusion entre heure (de la journée) et nombre d'heures.
À 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
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: formule TEMPS(heure négative) problème de passage OOo à

Message par gerard24 »

Bonjour,
alhazred a écrit :Que ce soit AOO ou LibO (voir versions dans ma signature) un nombre négatif dans TEMPS renvoie une Erreur 512...
Les "vielles" versions de OOo renvoyaient un résultat qui pouvait être négatif ou dépasser 24h. Ce qui n'était pas compatible avec la norme ODF, donc la fonction a été modifiée pour renvoyer un résultat compris entre 0 et 24h.

Le plus simple est de sortir le signe - de la fonction (pour rester avec la fonction TEMPS) :
-TEMPS(12;0;0) à la place de TEMPS(-12;0;0)

Cette fonction TEMPS n'est vraiment utile que si l'un de ses arguments résulte d'une formule, on peut tout simplement remplacer
TEMPS(12;0;0) par 0,5 et -TEMPS(12;0;0) par -0,5

La formule pour le 1er Juin :

Code : Tout sélectionner

=SI(N153<TEMPS(12;0;0);SI(N153>TEMPS(-12;0;0);N153;TEMPS(-12;0;0));TEMPS(12;0;0))+M154
peut être allégée en :

Code : Tout sélectionner

=MIN(0,5;MAX(-0,5;N153))+M154
A+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
sicavinfa
Fraîchement OOthentifié
Messages : 2
Inscription : 12 juin 2013 07:40

Re: formule TEMPS (heure négative) : passage OOo à LibO

Message par sicavinfa »

Bonjour,

merci de vos réponses

Génial MIN MAX, ça fonctionne parfaitement, je ne connaissais pas du tout. Je n'ai plus qu'à étudier cette formule pour pouvoir m'en resservir...

Pour alhazred, il est normal que la formule du 1er jour du mois soit différente de celle des autres jours, puisque c'est elle qui limite le report d'heure à + ou - 12 heures.
Pour ce qui est de la différence entre heure de la journée et nombre d'heures, j'ai trouvé sur ce forum comment régler le problème : en écrivant [hh]:mm dans le format de la cellule. Je trouve cela très pratique.

Merci encore du temps passé à m'aider, mon moral est remonté en flèche ce matin, puisque mon tableau fonctionne maintenant :D
Passage de OpenOffice 3.2.1 à LibreOffice Version 4.0.3.3
Windows XP pro 5.1
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: formule TEMPS (heure négative) : passage OOo à LibO

Message par gerard24 »

sicavinfa a écrit :
Génial MIN MAX, ça fonctionne parfaitement, je ne connaissais pas du tout. Je n'ai plus qu'à étudier cette formule pour pouvoir m'en resservir...

C'est une formule que j'utilise fréquemment pour limiter le résultat d'un calcul à un plancher et à un plafond (pour 1 seul des 2, une seule des fonctions MIN/MAX suffit).
Formule assez simple d'ailleurs, donc je ne résiste pas à la détailler.

On effectue un calcul dont le résultat est X et on veut que X n'excède pas un Seuil_haut et soit aussi limité par un Seuil_bas.

On a alors 3 cas de figure : X>=Seuil_haut, X<=Seuil_bas et X compris entre les 2.
Nous appliquons successivement les 2 fonctions MIN et MAX (dans n'importe quel ordre). Appelons Y le résultat de la première fonction, Z le résultat global.

Tout ceci résumé dans un petit tableau :

Code : Tout sélectionner

Valeur de X               	Résultat attendu      	 |	          MIN puis MAX                        		 | 	          MAX puis MIN                        
      ↓                           ↓                    | 	Y = MIN(X;Seuil_haut) →	Z = MAX(Y;Seuil_bas)  	 | 	Y = MAX(X;Seuil_bas) → 	Z = MIN(Y;Seuil_haut)   
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
X >= Seuil_haut           	Seuil_haut            	 | 	Y = Seuil_haut        →	Z = Seuil_haut        	 | 	Y = X                → 	Z = Seuil_haut          
Seuil_bas < X < Seuil_haut	X                     	 | 	Y = X                 →	Z = X                 	 | 	Y = X                →	 Z = X                   
X <= Seuil_bas            	Seuil_bas             	 | 	Y = X                 →	Z = Seuil_bas         	 | 	Y = Seuil_bas        → 	Z = Seuil_bas           
On peut donc utiliser ces 2 fonctions dans n'importe quel ordre à condition de bien "associer" MIN avec Seuil_haut et MAX avec Seuil_bas.

A+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
Messages : 753
Inscription : 09 avr. 2013 07:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Résolu] formule TEMPS (heure négative) : passage OOo à

Message par martinbrait »

Bonjour

Je pense qu'il ne faut pas chercher si compliqué !
decompte_horaire.JPG
format horaire [HH]:MM,
pour permettre les heures négatives et heures au delà de 24h
formatage conditionnel, pour visuel des heures négatives.
(EXECUTE SOUS LIBRE OFFICE)

@ administrateur
Posté, tardivement, pour laisser trace d'une solution "saine et simple"

Merci et à bientôt !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice version 5.4.7.2.M6 (x64)
Windows 10
+
LibreOffice version 5.4.7.2.M6 (x64)
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0

Locale : fr-FR (fr_FR)

Obligation de version


Bonjour, merci et à bientôt !