[Résolu] extraction heure spécifique

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.
pimpelope
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 28 sept. 2017 12:06

[Résolu] extraction heure spécifique

Message par pimpelope »

CC a tous

voici mon souci, je souhaite faire apparaître des heures spécifique sur mon tableur, en fait ce sont des planning avec des horaires mais je veux faire apparaître les heures de nuit qui sont de 22h à 6h, pour ne plus a les calculer moi même!!!

je joint un des fichiers concernés.

Merci d'avance a tous pour vos réponses

Pimpelope
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par pimpelope le 26 janv. 2020 10:41, modifié 1 fois.
openoffice calc 4 sous windows 2010
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: extraction heure spécifique

Message par jeanmimi »

Bonjour,
Je n'ai sans doute pas compris la problématique, car pour moi le tableur actuel permet de calculer les horaires de nuit.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1666
Inscription : 15 déc. 2010 08:33

Re: extraction heure spécifique

Message par yclik »

Bonsoir
une proposition
exemple cellule M33 feuille janvier :
heure de nuit de Mbaye pour avoir les heures comprises entre 22h00 et 06h00 (nuit)

Code : Tout sélectionner

=SI( M15="";""; SI(HEURE(M15)>=22;TEMPS("24";"00";"00")-M15;TEMPS("02";"00";"00"))+SI(HEURE(M16)<6;M16;TEMPS("06";"00";"00")))
A recopier vers la droite
La formule fait l'addition des heures comprises entre 22h00 et 00h00 (24h00) plus les heures entre 00h00 et 06h00 si une heure est indiquée en début de période
OpenOffice 4.1.14 sous Windows 10
pimpelope
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 28 sept. 2017 12:06

Re: extraction heure spécifique

Message par pimpelope »

Merci pour vos réponses

Je dois certainement mal m'y prendre pour recopier la formule donné par Yclik, mais je n'ai que des ### dans la cellule!!!

Peux tu le faire sur le tableur stp?

Merci encore
openoffice calc 4 sous windows 2010
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9365
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: extraction heure spécifique

Message par tintin »

Bonjour,
[b][color=#404080]pimpelope[/color][/b] a écrit :je n'ai que des ### dans la cellule!!!
### = largeur colonne insuffisante.
AOO 4.1.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_412 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1666
Inscription : 15 déc. 2010 08:33

Re: extraction heure spécifique

Message par yclik »

bonsoir
ou mettre une police à 6 pour l'affichage
OpenOffice 4.1.14 sous Windows 10
pimpelope
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 28 sept. 2017 12:06

Re: extraction heure spécifique

Message par pimpelope »

Bonjour

Sa fonctionne, j'avais oublié de formater la cellule en heure!!!

Merci a tous
openoffice calc 4 sous windows 2010
pimpelope
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 28 sept. 2017 12:06

Re: extraction heure spécifique

Message par pimpelope »

Cc a tous

finalement mon souci n’est pas résolu, pourtant je ne suis pas blonde!!! lol

tout fonctionne dans mes cellules jusqu'à ce que je remarque des jours ou il n'y a pas d'heures de nuit, c'est a dire des horaires normales, il me note 8h!!!!!
je joint le fichier pour y voir plus clair, ce qui est en jaune fluo n'est pas correcte.

Merci du coup de main

A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
openoffice calc 4 sous windows 2010
Avatar de l’utilisateur
ALBIN MARIE
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 21 janv. 2020 20:04

Re: extraction heure spécifique

Message par ALBIN MARIE »

Bonjour,

J'ai regardé ton tableau avec attention - sans trop comprendre ce qu'il doit faire - et j'en conclue que la formule de yclick ne peut que
te donner comme résultat 8h00 !

Il doit manquer une donnée pour résoudre ton problème ? A quelle valeur t'attendais-tu au lieu des 8h00 ?
OpenOffice 4.1.14 sous W10 V1909
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1666
Inscription : 15 déc. 2010 08:33

Re: extraction heure spécifique

Message par yclik »

Bonsoir
tester en L30 de Janvier

Code : Tout sélectionner

=SI( L21="";"";SI(ET(HEURE(L21)<22;HEURE(L22)>6) ;L22-L21;SI(HEURE(L21)>=22;TEMPS("24";"00";"00")-L21;TEMPS("02";"00";"00"))+SI(HEURE(L22)<6;L22;TEMPS("06";"00";"00"))))
il manquait un test pour les heures hors nuit
ET(HEURE(L21)<22;HEURE(L22)>6)
OpenOffice 4.1.14 sous Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: extraction heure spécifique

Message par OOotremer971 »

Bonjour,

Les cas possibles à prendre en compte même si parmi eux certains sont peu probables. Exemple pour une heure de début en A1 et une heure de fin en A2 :

* 1) heure début comprise entre zéro et six, et heure de fin entre zéro et six (le même jour)(peu probable)

Code : Tout sélectionner

=(ET(A1>=0;A1<7/24;A2>=0;A2<7/24)*(A2-A1))
2) heure début comprise entre zéro et six et heure de fin entre six et vingt-deux

Code : Tout sélectionner

=(ET(A1>=0;A1<7/24;A2>6/24;A2<22/24)*((6/24)-A1))
3) heure début comprise entre zéro et six et heure de fin entre vingt-deux et vingt-quatre

Code : Tout sélectionner

=(ET(A1>=0;A1<7/24;A2>22/24;A2<=1)*(((6/24)-A1)+(A2-(22/24))))
4) heure début comprise entre six et vingt-deux et heure de fin entre zéro et six

Code : Tout sélectionner

=(ET(A1>6/24;A1<22/24;A2>=0;A2<7/24)*((2/24)+A2))
* 5) heure début comprise entre six et vingt-deux et heure de fin entre six et vingt-deux (le même jour)(comptage inutile)

6) heure début comprise entre six et vingt-deux et heure de fin entre vingt-deux et vingt-quatre

Code : Tout sélectionner

=(ET(A1>6/24;A1<22/24;A2>22/24;A2<=1)*(A2-(22/24)))
7) heure début comprise entre vingt-deux et vingt-quatre et heure de fin entre zéro et six

Code : Tout sélectionner

=(ET(A1>22/24;A1<=1;A2>=0;A2<7/24)*((A1-(22/24)+MIN(6/24;A2))))
[/raye]

Code : Tout sélectionner

=(ET(A1>=22/24;A1<=1;A2>=0;A2<7/24)*((1-MAX(A1;(22/24))+MIN(6/24;A2))))
8) heure début comprise entre vingt-deux et vingt-quatre et heure de fin entre six et vingt-deux

Code : Tout sélectionner

=(ET(A1>22/24;A1<=1;A2>6/22;A2<22/24)*(1-A1))
* 9) heure début comprise entre vingt-deux et vingt-quatre et heure de fin entre vingt-deux et vingt-quatre (le même jour)(peu probable)

Code : Tout sélectionner

=(ET(A1>22/24;A1<=1;A2>22/24;A2<=1)*(A2-A1))
Chacune de ces formule commence par une vérité qui ne devient vraie (donc 1) que lorsque les conditions d'heure de début et de fin sont respectées. Multipliée à une expression qui calcule le nombre d'heure effectuée pour chacun de ces cas lorsque le cas se présente. Quelque soit l'heure de début et l'heure de fin, une seule de ces vérités renvoie la valeur 1.

La formule finale, à adapter à ton fichier en remplaçant A1 et A2, respectivement par K15 et K16 pour la cellule K24 :
 Ajout : Formules ci-dessous corrigée suite à la découverte d'une erreur (rayée et remplacée un peu plus haut) 

Code : Tout sélectionner

=(ET(A1>=0;A1<7/24;A2>=0;A2<7/24)*(A2-A1))+(ET(A1>=0;A1<7/24;A2>6/24;A2<22/24)*((6/24)-A1))+(ET(A1>=0;A1<7/24;A2>22/24;A2<=1)*(((6/24)-A1)+(A2-(22/24))))+(ET(A1>6/24;A1<22/24;A2>=0;A2<7/24)*((2/24)+A2))+(ET(A1>6/24;A1<22/24;A2>22/24;A2<=1)*(A2-(22/24)))+=(ET(A1>=22/24;A1<=1;A2>=0;A2<7/24)*((1-MAX(A1;(22/24))+MIN(6/24;A2))))+(ET(A1>22/24;A1<=1;A2>6/22;A2<22/24)*(1-A1))+(ET(A1>22/24;A1<=1;A2>22/24;A2<=1)*(A2-A1))
Formule adaptée pour ton fichier :

Code : Tout sélectionner

=(ET(K15>=0;K15<7/24;K16>=0;K16<7/24)*(K16-K15))+(ET(K15>=0;K15<7/24;K16>6/24;K16<22/24)*((6/24)-K15))+(ET(K15>=0;K15<7/24;K16>22/24;K16<=1)*(((6/24)-K15)+(K16-(22/24))))+(ET(K15>6/24;K15<22/24;K16>=0;K16<7/24)*((2/24)+K16))+(ET(K15>6/24;K15<22/24;K16>22/24;K16<=1)*(K16-(22/24)))+(ET(K15>=22/24;K15<=1;K16>=0;K16<7/24)*((1-MAX(K15;(22/24))+MIN(6/24;K16))))+(ET(K15>22/24;K15<=1;K16>6/22;K16<22/24)*(1-K15))+(ET(K15>22/24;K15<=1;K16>22/24;K16<=1)*(K16-K15))
et fichier modifié (janvier seulement)

Attention : lorsqu'une période se termine à minuit( genre 20:00 00:00), il ne faut pas saisir 00:00 mais 24:00 car les formule en tiennent compte dans les calculs.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par OOotremer971 le 28 janv. 2020 22:57, modifié 1 fois.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
pimpelope
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 28 sept. 2017 12:06

Re: extraction heure spécifique

Message par pimpelope »

Bonjour

Merci Yclik, mais toujours pas le résultat voulu, les 4h travaillé sont déjà compté dans la cellule du dessus, il faut que dans la cellule demandé le résultat soit 00h et non 4h!!

Merci OOotremer971, le résultat est là!!

Merci a tous de votre patience avec moi, comment fait-on pour noter le problème résolu car la je crois que c'est bon!!!

Merci
openoffice calc 4 sous windows 2010