[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.

[Résolu] extraction heure spécifique

Messagepar pimpelope » 21 Jan 2020 10:37

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
Pièces jointes
planning Bowling copie.ods
(346.69 Kio) Téléchargé 23 fois
Dernière édition par pimpelope le 26 Jan 2020 11:41, édité 1 fois.
openoffice calc 4 sous windows 2010
pimpelope
Membre lOOyal
Membre lOOyal
 
Message(s) : 28
Inscrit le : 28 Sep 2017 13:06

Re: extraction heure spécifique

Messagepar jeanmimi » 21 Jan 2020 18:29

Bonjour,
Je n'ai sans doute pas compris la problématique, car pour moi le tableur actuel permet de calculer les horaires de nuit.
Pièces jointes
Calcul horaires planning.jpg
LibreOffice Version : Version : 6.4.5.2 (x64)(6 juillet 2020)
AdoptOpenJDK (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15363
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: extraction heure spécifique

Messagepar yclik » 21 Jan 2020 18:48

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   AgrandirRéduire
=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.7 sous Windows 10
Avatar de l’utilisateur
yclik
SuppOOrter
SuppOOrter
 
Message(s) : 1202
Inscrit le : 15 Déc 2010 09:33

Re: extraction heure spécifique

Messagepar pimpelope » 21 Jan 2020 20:54

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
pimpelope
Membre lOOyal
Membre lOOyal
 
Message(s) : 28
Inscrit le : 28 Sep 2017 13:06

Re: extraction heure spécifique

Messagepar tintin » 21 Jan 2020 21:03

Bonjour,
pimpelope a écrit:je n'ai que des ### dans la cellule!!!
### = largeur colonne insuffisante.
AOO 4.1.7 et LibO 6.3.6.2 / macOS 10.15.5 Catalina.
AdoptOpenJDK_1.8.0_242 / Firefox / Thunderbird / Safari / Time Machine
Pour préserver vos documents, faites régulièrement des sauvegardes.
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
 
Message(s) : 6746
Inscrit le : 18 Juil 2008 16:29
Localisation : F-Oise + F-Savoie

Re: extraction heure spécifique

Messagepar yclik » 21 Jan 2020 21:09

bonsoir
ou mettre une police à 6 pour l'affichage
OpenOffice 4.1.7 sous Windows 10
Avatar de l’utilisateur
yclik
SuppOOrter
SuppOOrter
 
Message(s) : 1202
Inscrit le : 15 Déc 2010 09:33

Re: extraction heure spécifique

Messagepar pimpelope » 22 Jan 2020 10:14

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
 
Message(s) : 28
Inscrit le : 28 Sep 2017 13:06

Re: extraction heure spécifique

Messagepar pimpelope » 23 Jan 2020 13:54

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+
Pièces jointes
planning Bowling copie.ods
(349.44 Kio) Téléchargé 16 fois
openoffice calc 4 sous windows 2010
pimpelope
Membre lOOyal
Membre lOOyal
 
Message(s) : 28
Inscrit le : 28 Sep 2017 13:06

Re: extraction heure spécifique

Messagepar ALBIN MARIE » 24 Jan 2020 13:31

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.7 sous W10 V1903
Avatar de l’utilisateur
ALBIN MARIE
Fraîchement OOthentifié
 
Message(s) : 9
Inscrit le : 21 Jan 2020 21:04

Re: extraction heure spécifique

Messagepar yclik » 24 Jan 2020 17:47

Bonsoir
tester en L30 de Janvier
Code : Tout sélectionner   AgrandirRéduire
=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.7 sous Windows 10
Avatar de l’utilisateur
yclik
SuppOOrter
SuppOOrter
 
Message(s) : 1202
Inscrit le : 15 Déc 2010 09:33

Re: extraction heure spécifique

Messagepar OOotremer971 » 24 Jan 2020 18:20

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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(ET(A1>22/24;A1<=1;A2>=0;A2<7/24)*((A1-(22/24)+MIN(6/24;A2))))

Code : Tout sélectionner   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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   AgrandirRéduire
=(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.
Pièces jointes
planning Bowling copie_Mod1.ods
(358.09 Kio) Téléchargé 10 fois
Dernière édition par OOotremer971 le 28 Jan 2020 23:57, édité 1 fois.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2351
Inscrit le : 16 Avr 2010 14:31

Re: extraction heure spécifique

Messagepar pimpelope » 25 Jan 2020 10:22

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
pimpelope
Membre lOOyal
Membre lOOyal
 
Message(s) : 28
Inscrit le : 28 Sep 2017 13:06


Retour vers Tableur

Qui est en ligne ?

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