Condition multiple

Résolu/Fermé
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 - 24 nov. 2014 à 16:43
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 - 27 nov. 2014 à 10:43
Bonjour,
Je suis novice en Excel et actuellement je suis bloqué sur plusieurs problèmes qui s'imbriquent :
1- Soustraction d'une date+heure (ex:28/10/14 19:00) à une heure exprimée sous forme de quantième de 8 heures (ex: 1,69 de 8h).
2- Comparaison de date/heure:
* Si l'heure du résultat obtenu ci dessus est supérieure ou égale à 8:00 et inférieure ou égale à 19:00, j'affiche le résultat obtenu sans modification.
* Si l'heure du résultat obtenu ci dessus est strictement supérieure à 19:00 alors j'afficherai la date du lendemain mais à 8:00 (heure fixe).

Merci milles fois par avance de votre aide, je ne pourrais trouver sommeil qu'après avoir une solution pour ces 2 problèmes :-(
Coridalement
Coq77

9 réponses

Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
27 nov. 2014 à 10:43
Bonjour à tous,
Un grand merci à vous tous: Patrice33740, eriiic, JvDo, PHILOU10120.
Vous, qui avez pris la peine de me répondre, de supporter mes étourderies, mes omissions, d'avoir pris le temps pour m'apporter une réponses à mes tracasseries, avez une grande expertise en Excel (et sûrement dans d'autres domaines aussi).
Toutes ces formules fonctionnent parfaitement comme j'ai souhaité
C'est fantastique, grâce à vous j'ai appris plein de choses. Je vais pouvoir retrouver le sommeil dès à présent
Une excellente journée à vous et merci, merci, merci
Cordialement
Coq77
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié par Patrice33740 le 24/11/2014 à 17:59
Bonjour,

C'est vraiment pas clair !!!
Que représente la date+heure ?

Que veut dire : « une heure exprimée sous forme de quantième de 8 heures (ex: 1,69 de 8h) » ?
Est-ce tout simplement 1,69 heure c'est à dire 1heure 41 minutes et 24 secondes ou encore 0,07041667 jour ?
Le 28/10/14 19:00 représente 41940,791667 jours écoulés depuis la veille du 1 janvier 1900, si tu le soustrait de 0,07041667 jour, ça ne va pas être représentatif de quoi que ce soit !
Cordialement
Patrice
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
24 nov. 2014 à 18:18
Great, quelle rapidité, merci.
En fait date+heure représente comme l'exemple le montre sous format : 28/10/14 19:00 (date de fin d'exécution d'une tâche), et comme vous avez deviné 1,68 est égale à 1heure 41 minutes (arrondie). Ce que je souhaite obtenir comme résultat est : 28/10/14 19:00 - 1,68 = 28/10/14 17:19 (arrondie). Quand le temps à soustraire est inférieur à 19h, c'est facile, mais parfois ce temps pourrait représenter plusieurs dizaines heures (qui représente plusieurs jours), c'est là que cela devient compliquer.
Cordialement
Coq77
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
24 nov. 2014 à 18:30
Re,

Alors,
si A1 = 28/10/14 19:00
et B1 = 1,68

la formule en C1 : = A1-B1/24
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié par Patrice33740 le 24/11/2014 à 18:54
Et pour le 2)
si les journées font 11 heures, formule en C1 :
=A1-ENT((B1-1/120)/11)-(MOD((B1-1/120);11)+1/120)/24
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
25 nov. 2014 à 11:47
Bonjour Patrice,
Désolé, le manque de sommeil fait que je n'ai pas les idées claires et je vous ai mal répondu hier. En fait 1,68 n'est pas égale à 1 heure 41 minutes mais 1 jour , 5 heures et 12 minutes. La base d'une journée n'est pas 24 heures mais 8 heures (une journée de travail).
Donc je souhaiterais avoir comme résultat : 28/10/14 19:00 - 1,68 = 27/10/14 13:48
Milles excuses pour cette erreur
Cordialement
Coq77
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
25 nov. 2014 à 11:57
oups!!! 28/10/14 19:00 - 1,68 = 27/10/14 13:16
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
25 nov. 2014 à 12:06
La difficulté est qu'à la base une journée est 24 heures et Excel change la date qu'avec cette base, or dans mon calcul 1 jour ne comporte que 8 heures, du coup si je dois retrancher de 1 alors je recule d'une journée et 1,68 est équivalent à 1 jour + 5 heures et 44 minutes (0,68*8)
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
25 nov. 2014 à 12:03
Bonjour

Pour excel 1 jour = 1
une heure =1/24 = 0,041666667
1 minutes =1/24/60 = 0,000694444
Pour vous 1 jour = 8 heures donc il faut dire à excel
que vos journée ne font que
1/24*8 = 0,333333333
Voilà la base de calcul d'Excel à vous de vous adapter

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
25 nov. 2014 à 12:41
Bonjour,

Décidément, c'est de moins en moins clair !!!!

Si 1,68 est une portion de journée de 8 heures ça correspond à 13,44 heures c'est à dire 1 jour 5 heures 26 minutes et 24 secondes (et pas 1j 5h 12 m)

D'autre part, pour le 2), de 8 heures à 19 heures il s'écoule 11 heures et pas 8 heures, il y à donc une coupure !

Pour faire ce genre de calcul il faut que la demande soit extrêmement précise
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
25 nov. 2014 à 14:26
Merci, c'est exact, je m'embrouille avec les bases de calcul. J'ai oublié de convertir 44 en minutes et secondes. Pour la 2ème question, 8h - 19h est la plage horaire de travail mais les gens ne travaillent que 8 heures/jour, certains commencent à 8h et d'autres terminent à 19h. Le résultat obtenu avec la soustraction de la 1ére question pourrait tomber à des heures en dehors de la plage de travail indiquée plus haut, c'est pour cette raison que je modifie l'affichage selon le résultat
Cordialement
Coq77
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778 > Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014
25 nov. 2014 à 15:43
«Le résultat obtenu avec la soustraction de la 1ére question pourrait tomber à des heures en dehors de la plage de travail»
Ce n'est pas si simple : pour obtenir une heure de début, à partir d'une heure de fin, en retranchant la durée de travail, il faut impérativement connaitre la durée des coupures, sinon on obtient un résultat aléatoire.
Par exemple, avec un cas très simple, si j'enlève 1 (c'est à dire 8h) au 28/10/14 19:00 que dois-je obtenir ?
- 28/10/14 11:00 (8h avant) ou
- 28/10/14 08:00 (8h de travail avant) ou
- 28/10/14 19:00 (1 jour avant) ???
tous ces résultats sont possibles !

Poses-toi la même question à partir du 28/10/14 17:00
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
25 nov. 2014 à 17:43
Pour mieux comprendre la date 28/10/14 19:00 représente la date butoir pour réaliser un travail et 1,68 est la charge demandée, le résultat obtenu après la soustraction corresponde à la date où le travail doit être débuté
Par exemple, avec un cas très simple, si j'enlève 1 (c'est à dire 8h) au 28/10/14 19:00 que dois-je obtenir ? Je dois obtenir - 28/10/14 11:00, si j'enlève 2 (c'est à dire 16h) je dois atterrir au 28/10/14 7:00, ce sera trop tôt de la journée mais de toute façon le travail sera terminé au delà de la date butoir alors je dois obtenir 27/10/14 18:00, si j'enlève 3 (c'est à dire 24h) je tomberai au 27/10/14 19:00, la durée de travail d'une journée est de 11h (8h - 19h), du coup pour être dans le temps, le travail doit être commencé le 26/10/14 16:00. C'est compliqué
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
25 nov. 2014 à 15:21
Bonjour

Pouvez-vous reposer votre problème clairement.
quelle opération exacte voulez-vous faire ?
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
25 nov. 2014 à 15:42
Bonjour à tous,

et tant qu'à faire précise ce qu'il se passe les we.
eric
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
25 nov. 2014 à 17:02
Bonjour,
La plage de travail est de lundi à vendredi de 8h à 19h sauf si férié
Cdlt
Coq77
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
25 nov. 2014 à 17:45
Le calcul est déjà assez compliqué comme çà, je fais abstraction volontiers du problème de WE
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
25 nov. 2014 à 16:23
Bonjour,
J'ai un tableau avec plusieurs colonnes dont :

Date butoir Charge de travail (h.j) Début de travail souhaité
28/12/14 19:00 0,16
3/12/14 19:00 1
22/12/14 19:00 1,68

La charge de travail est exprimée sur une base de 8h/j. (1,68 est équivalent à 1 jour, 5heures, 26mn et 24s).
Ces chiffres proviennent des requêtes de différents outils.

Je voudrais calculer la date minimum à débuter le travail pour ne pas dépasser le délai donné par la date butoir (Date butoir - Charge).

Pour la 2ème question :
Pour le cas où l'heure de la date de début souhaité est entre 19 :00 et 23h59, sachant que la plage de travail est de 8h-19h, le résultat affichera le lendemain 8h (test à faire : si heure >19 :00 et <=23 :59 alors lendemain 8 :00)
Pour le cas où l'heure de la date de début souhaité est entre 00:00 et 7h59, le résultat affichera la date du jour 8 :00.
Je suis désolé, je ne sais pas comment expliquer mes problématiques mieux que çà

Merci par avance de votre aide
Cordialement
Coq77
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 26/11/2014 à 00:20
Un essai, à contrôler avec plus d'exemples.
Tiens compte des WE et fériés (compléter feuille Fériés).
J'ai laissé les colonnes intermédiaires pour la compréhension.
https://www.cjoint.com/c/DKzxZOSxmUm

eric

PS: je viens de voir un petit pb pour les charges de jours entiers (ex : 2) : c'est la veille 19:00 qui ressort. Je verrais demain


En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
26 nov. 2014 à 11:08
Bonjour et merci Eriiic,
j'ai essayé d'appliquer ta formule mais cela ne fonctionne pas parce que je ne sais pas qu'est ce que c'est h_j dans ta formule, du coup le résultat obtenu est #NOM?
Cordialement
Coq77
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 26/11/2014 à 12:27
Bonjour,

version corrigée pour le petit pb : https://www.cjoint.com/c/DKAmGMgKTgT
h_j, Deb et Fin sont les cellules nommées I2 à K2
Fériés est la plage nommée Fériés!A2:A30.
Voir : Nommer une plage de cellules

eric

PS: pour la proposition de JvDo mettre en format de cellule personnalisé : jjj jj/mm/aaaa hh:mm
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
26 nov. 2014 à 15:57
Bonjour et merci Eriiic,
Cette formule marche à merveille et le must c'est qu'elle tienne compte les jours fériés, un seul hic c'est qu'elle ne tienne pas compte la plage horaire de 8h - 19h, du coup dès lors que la charge de travail dépasse 8 heures, le calcul enlève systématiquement au moins 1 jour
Thx
Coq77
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 26/11/2014 à 16:57
c'est qu'elle ne tienne pas compte la plage horaire de 8h - 19h
Il y a peut-être des erreurs car travailler sur les jours-heures est difficile mais il me semble que si.
Pour une fin lun 22/12/2014 19:00, 1.68 ça te donne un début le ven 19/12/2014 13:33 :
5:26 le ven et 8:00 le lun (8h maxi par jour tu as dit)
Il est où ton jour en moins ?

Explique avec un exemple détaillé.

Par contre ne rêve pas. Ta demande ne prend pas en compte les horaires de la personne qui traite la tâche. Si la fin de tâche est prévue à 10h elle est sensée travailler 2h dessus le dernier jour, même si elle commence à 11h...
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1 > eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024
26 nov. 2014 à 17:37
Mes informations fournies ne sont pas complètes, en fait c'est toute une équipe, si un tel ne peut pas prendre en compte le travail, ce sera un autre.

Dans l'exemple donnée 1,68 est égal à 13h 26mn, or une journée de travail est de 11h et qui commence à 8h, je n'ai à reporter que 2h 26mn et non 5h 26mn ==> résultat attendu = 21/10/14 16:33

Autre exemple :
Date butoir : 5/11/14 19:00
Charge : 1,5 ==> 12h
Résultat donnée en appliquant ta formule = 04/11/2014 15:00
Selon mon raisonnement cité plus haut, je souhaite trouver comme résultat 04/11/2014 18:00

Thx
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
25 nov. 2014 à 23:51
Bonsoir à tous,

voici une proposition de formule qui répond parfaitement à .... ce que j'ai cru comprendre de ta question !!
=SI(MOD(A2;1)*24<=8;ENT(A2)-1+19/24-ENT(B2)-8*MOD(B2;1)/24;SI(MOD(A2;1)*24>=19;ENT(A2)+19/24-ENT(B2)-8*MOD(B2;1)/24;SI(A2-ENT(A2)-8/24>8*B2/24;A2-B2*8/24;ENT(A2)-1+19/24-ENT((8*B2/24-(A2-ENT(A2)-8/24))/(11/24))-11*MOD((8*B2/24-(A2-ENT(A2)-8/24))/(11/24);1)/24)))

mes tests :

Rien n'est optimisé mais ça a l'air de rouler.

cordialement
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
26 nov. 2014 à 11:05
Bonjour et merci JvDo,
Super formule (que je ne comprend pas du tout :-)), je l'ai appliquée sur ma feuille excel mais je n'obtiens pas le résultat escompté. J'obtiens 41940,7383 par exemple pour la première ligne. C'est peut être à cause de ma version d'Excel, non ? je suis en 2010
Cordialement
Coq77
0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
26 nov. 2014 à 12:55
Bonjour

Mettre la cellule au format jj/mm/aaaa hh:mm

et cela affichera 28/10/2014 17:43
0
Coq77 Messages postés 17 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 27 novembre 2014 1
26 nov. 2014 à 17:40
Chouette, ta formule fonctionne à merveille par contre je ne sais pas si elle tienne compte les WE et jours fériés ?
Thx
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
26 nov. 2014 à 18:11
Bonjour,

Voici une formule (un peu longue) qui fonctionne bien :
=ENT(Fin_tache)+Fin_act-MOD(Duree_tache*ETP+Fin_act-MAX(MIN(MOD(Fin_tache;1);Fin_act);Deb_act)-Ecart;Fin_act-Deb_act)-Ecart-ENT((Duree_tache*ETP+Fin_act-MAX(MIN(MOD(Fin_tache;1);Fin_act);Deb_act)-Ecart)/(Fin_act-Deb_act))

avec :
Fin_tache = date heure de la fin de la tâche
Duree_tache = Durée de la tâche à effectuer en ETP
ETP = Equivalent Temps Plein (dans ton cas = 8h00)
Deb_act = heure de début d'activité de l'entreprise
Fin_act = heure de fin d'activité de l'entreprise
Ecart = très petit écart de temps (1/10 sec) qui permet de faire commence la journée à 8h00 au lieu de 19h00 la veille.

Et le fichier exemple :
https://www.cjoint.com/?DKAsqWoKf5K
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
26 nov. 2014 à 19:35
Le même avec prise en compte des WE et jours fériés :
https://www.cjoint.com/?DKAtPvn8wYz
0