|
| nadav | Posté le 13/07/2008 @ 16:52 |
Petit astucien
8 Messages
| bonjour a tous
je me suis cree un tableau excel pour mes heures de travaille par jour mais je n'arrive pas a trouver la bonne formule pour calculer mes heures de nuit sachant qu'elles sont effectives de 20h a 6h
A1 heure de debut
B1 heure de fin
C1 heures de nuit
merci d'avance
|
| |
| |
| Publicité |
|
|
| Bérylion | Posté le 13/07/2008 à 17:10 |
Astucien
2321 Messages
| Message original par nadav
bonjour a tous
je me suis cree un tableau excel pour mes heures de travaille par jour mais je n'arrive pas a trouver la bonne formule pour calculer mes heures de nuit sachant qu'elles sont effectives de 20h a 6h
A1 heure de debut
B1 heure de fin
C1 heures de nuit
merci d'avance
C1 =1+SI(B1<1/4;B1;1/4)-SI(A1>5/6;A1-5/6;5/6)

|
| |
|
| nadav | Posté le 13/07/2008 à 17:34 |
Petit astucien
8 Messages
| merci,berylion, pour ta reponse
mais je viens d'essayer avec comme exemple 17:00 a 2:00 et ca m'a affiche 0.25 au lieu de 6:00
mais bon etant tres nul je n'ai peut etre pas rentre le bon affichage dans ma case C1
|
| |
|
| sourisdeservice | Posté le 13/07/2008 à 18:44 |
Maîtresse astucienne
19671 Messages
| Bonjour,
Mettre le format [h]:00:00 dans la case résultat
Entrer la date avec l'heure comme ceci 10/7 23:25 Modifié par sourisdeservice le 13/07/2008 18:44 |
| |
|
| nadav | Posté le 14/07/2008 à 11:44 |
Petit astucien
8 Messages
| merci pour vos reponse
avec le bon format ca marche par contre sur mon planning quand je ne travaille pas et que donc je ne rentre aucune heure en A1 et B1 il me calcul 4:00 en C1 au lieu de me mettre 0 et donc ca fausse le total |
| |
|
| Paulus | Posté le 14/07/2008 à 12:36 |
Petit astucien
389 Messages
| Salut Béry et les autres,
Je complète, en quelque sorte, la déclaration de nadav. Ta formule fonctionne parfaitement lorsque "'l'heure de fin" excède 24:00. Exemple de 17 h à 2 h, résultat de la formule 6 (heures de nuit). Par contre, de 13 h à 22 h, ta formule renvoie 10 (heures de nuit) au lieu de 2 (heures de nuit).
La conception de ta formule dépasse mon entendement; elle est trop savante sans descriptif. Veux-tu avoir la gentillesse de me donner le fil d'Ariane. Rassures toi je connais les bases d'école.
Merci en tout cas. Ainsi, par ta réponse, nadav pourra améliorer la formulation et avoir toute satisfaction en comprenant le concept.
A + et encore merci. |
| |
|
| Bérylion | Posté le 14/07/2008 à 20:12 |
Astucien
2321 Messages
| Paulus a écrit :
Salut Béry et les autres,
Je complète, en quelque sorte, la déclaration de nadav. Ta formule fonctionne parfaitement lorsque "'l'heure de fin" excède 24:00. Exemple de 17 h à 2 h, résultat de la formule 6 (heures de nuit). Par contre, de 13 h à 22 h, ta formule renvoie 10 (heures de nuit) au lieu de 2 (heures de nuit).
La conception de ta formule dépasse mon entendement; elle est trop savante sans descriptif. Veux-tu avoir la gentillesse de me donner le fil d'Ariane. Rassures toi je connais les bases d'école.
Merci en tout cas. Ainsi, par ta réponse, nadav pourra améliorer la formulation et avoir toute satisfaction en comprenant le concept.
A + et encore merci.
ouaip !
y'a plusieurs cas de figure que je vais pas énoncer.
pour faire simple :
si l'heure de fin est < à l'heure de début
alors :
24h + (si l'heure de fin est < 6h ; alors heure de fin ; sinon 6h) - (si heure de début > 20h ; alors heure de début ; sinon 20h)
sinon :
heure de fin - (si heure de début > 20h ; alors heure de début ; sinon 20h)
traduit en formule ça donne : =SI(A1>B1;1+SI(B1<1/4;B1;1/4)-SI(A1>5/6;A1;5/6);B1-SI(A1>5/6;A1;5/6))
|
| |
|
| nadav | Posté le 15/07/2008 à 10:41 |
Petit astucien
8 Messages
| bonjour c'est encore moi
t'as formule marche,j'ai teste quelques cas et pas de probleme
par contre comme j'ecrivais plus haut au niveau du total j'ai ####
ca viens des jours ou je ne travaille pas et donc les cases sont vides
pourrais t-on rajouter a ta formule "si case vide =0"
je sais j'en demande beaucoup mais apres ca je vous laisse tranquille lol
merci d'avance |
| |
|
| Paulus | Posté le 15/07/2008 à 16:04 |
Petit astucien
389 Messages
| Salut nadav
Salut Béry,
T'as mis le doigt dessus nadav La formule de notre ami ne traitait pas les cellules vides c'est-à-dire, te concernant, les jours non travaillés.
La formulation rectifiée du 14/7 20:12 de Béry est nickel Chrome dans tous les cas de figure hormis celui des cellules vides. Je te remercie Béry, t'es un grand "formuleux". Tu m'as fais connaître un cas difficile à traiter.
J'ai achevé le boulot, j'ai inséré un argument supplémentaire dans la formule pour neutraliser le défaut.
Voir ICI
A + |
| |
|
| nadav | Posté le 15/07/2008 à 23:16 |
Petit astucien
8 Messages
| Bonsoir c'est encore moi
Je dois être vraiment un chieur ou alors j'ai posé une colle, puisqu'à chaque nouvelle formule cela améliore un point mais créee un nouveau problème car quand je travaille de jour le total affiche ##### et retire une heure du total d'heures de nuit.
Merci ceux qui travaillent sur cette formule, vous m'êtes d'un grand secours car moi je suis une vraie bille lol
Salut |
| |
|
| Paulus | Posté le 16/07/2008 à 19:37 |
Petit astucien
389 Messages
| Salut nadav, Salut Béry,
Tu n'es pas un "chiant" ni même un "chieur", tu es un demandeur respecté et respectable que l'on aime servir comme il se doit. Nous sommes les contributeurs à ton service pour que tu sois satisfait. Nous sommes des bénévoles pas souvent satisfaits et quelquefois aussi déçus.
Tu as parfaitement raison la formule que tu convoite, conçue par Béry, ne couvre pas tous les cas de figure.
Un tableau en PJ, que j'ai dressé, embrasse tous les cas possibles..Tu constateras les manques. J'ai tenté de combler; hélas mes connaissances dans une telle formule imbriquée sont insuffisantes. J'espère que Béry pourra apporter l'amélioration que tu attends.
Je surveille du coin de l'œil.
Voir ICI
A + |
| |
|
| Bérylion | Posté le 16/07/2008 à 20:25 |
Astucien
2321 Messages
| Paulus a écrit :
Salut nadav, Salut Béry,
Tu n'es pas un "chiant" ni même un "chieur", tu es un demandeur respecté et respectable que l'on aime servir comme il se doit. Nous sommes les contributeurs à ton service pour que tu sois satisfait. Nous sommes des bénévoles pas souvent satisfaits et quelquefois aussi déçus.
Tu as parfaitement raison la formule que tu convoite, conçue par Béry, ne couvre pas tous les cas de figure.
Un tableau en PJ, que j'ai dressé, embrasse tous les cas possibles..Tu constateras les manques. J'ai tenté de combler; hélas mes connaissances dans une telle formule imbriquée sont insuffisantes. J'espère que Béry pourra apporter l'amélioration que tu attends.
Je surveille du coin de l'œil.
Voir ICI
A +
Salut

la formule prend bien en compte TOUS les cas de figure...
...seulement, si j'embauche après 6h et que je débauche avant 20h, je fais des heures de nuit négatives 
donc, pour palier, la bonne vieille ruse de cheyenne : si(maformule<0;0;maformule)
au final ça donne :
=SI(A1="";"";SI(SI(A1>B1;1+SI(B1<1/4;B1;1/4)-SI(A1>5/6;A1;5/6);B1-SI(A1>5/6;A1;5/6))<0;0;SI(A1>B1;1+SI(B1<1/4;B1;1/4)-SI(A1>5/6;A1;5/6);B1-SI(A1>5/6;A1;5/6))))
(oui ça fait peur mais ça fait pas mal )
Modifié par Bérylion le 16/07/2008 20:25 |
| |
|
| Paulus | Posté le 16/07/2008 à 21:45 |
Petit astucien
389 Messages
| RE à toi,
Parfait Béry, tu t'es encore amélioré à 83.1/3 % juste. Le complément à 100 % n'est pas faux, il est simplement abscent. Celà veut dire qu'il manque encore un segment à ta formule. Pour toi c'est du gâteau 5 occurences incomplètes sur 24. T'es un Chef !!!!
Tu veux avoir la gentilesse de nous la terminer définitivement. Le cas que tu as traité pour nadav est plein d'enseignement pour moi, crois le bien....
Au final, en raison de la longueur de la formule, (tu sais que celà m'énerve... une barre de formule double ou triple) et par sécurité ...je la nommerai par la commande "Insertion\nom\définir\etc.. avant qu'elle soit livrée à nadav mis en service.
Voir ICI
Merci à toi,
A + |
| |
|
| Bérylion | Posté le 17/07/2008 à 01:40 |
Astucien
2321 Messages
| Paulus a écrit :
RE à toi,
Parfait Béry, tu t'es encore amélioré à 83.1/3 % juste. Le complément à 100 % n'est pas faux, il est simplement abscent. Celà veut dire qu'il manque encore un segment à ta formule. Pour toi c'est du gâteau 5 occurences incomplètes sur 24. T'es un Chef !!!!
Tu veux avoir la gentilesse de nous la terminer définitivement. Le cas que tu as traité pour nadav est plein d'enseignement pour moi, crois le bien....
Au final, en raison de la longueur de la formule, (tu sais que celà m'énerve... une barre de formule double ou triple) et par sécurité ...je la nommerai par la commande "Insertion\nom\définir\etc.. avant qu'elle soit livrée à nadav mis en service.
Voir ICI
Merci à toi,
A +
et tu la veux pas non plus en fonction perso, avec les début et fin d'heure sup en variable ?

(faut demander tout de suite, comme ça je fais qu'un voyage... )
|
| |
|
| galopin01 | Posté le 17/07/2008 à 03:56 |
Astucien
4321 Messages
| Paulus a écrit :
5 occurences incomplètes sur 24. T'es un Chef !!!!
Et encore... ça dépend par bout tu prends le machin ! 
Ta démo ne marche que parce que tu as démarré à 1h et que tu as choisi l'incrémentation automatique.
Si tu démarres à 00:00 ou 00:30 ça ne marche pas ou c'est faux quelle que soit l'heure de fin...
ma démo
Bon... Je te concède qu'il est rare que quelqu'un travaille + de 8 d'heure d'affilées en ayant commencé à minuit ! mébon...
A+ |
| |
|
| galopin01 | Posté le 17/07/2008 à 05:25 |
Astucien
4321 Messages
| Allez... je vous sens nerveux sur ce coup : Je vous donne une solution (un peu foireuse également ) VBA !
Cherchez l'erreur !
A+ Modifié par galopin01 le 17/07/2008 10:26 |
| |
|
| Paulus | Posté le 17/07/2008 à 08:55 |
Petit astucien
389 Messages
| Salut Béry, Salut l'ami Galopin
Effectivement Béry t'es trop bon et t'es chaud ....au prix où est l'essence ...c'était pas une partie de rigolade le machin. Conclusion, si j'ai bien compris, le truc est un pis aller par la technique des formules de calcul.
Dommage, parce que une charge machine à usiner en 3 équipes c'est encore de mise dans certains secteurs tu sais.... ami Galopin. Considérant les autorisations de dérogation à l'horaire affiché (en + et en -) et 2000 OS machine dans les ateliers ça fait la balle mon gars. Ce n'est pas forcément une vue de l'esprit.
Laissons se prononcer nadav qui nous dira son point de vue quant à régler son problème.
A +
|
| |
|
| galopin01 | Posté le 17/07/2008 à 11:04 |
Astucien
4321 Messages
| Après quelques corrections de bogues mineures je vous en donne deux pour le prix d'une !
La première version corrigée de la précédente (à retravailler avec intersect le cas échéant...)
La deuxième nettement plus ergonomique qui est une adaptation de la première avec une fonction personnalisée.
Sauf autre bogue à découvrir... 
A+ |
| |
|
| Bérylion | Posté le 17/07/2008 à 12:07 |
Astucien
2321 Messages
| galopin01 a écrit :
Après quelques corrections de bogues mineures je vous en donne deux pour le prix d'une !
La première version corrigée de la précédente (à retravailler avec intersect le cas échéant...)
La deuxième nettement plus ergonomique qui est une adaptation de la première avec une fonction personnalisée.
Sauf autre bogue à découvrir... 
A+

tu m'as coupé l'herbe sous le pied (mais je dormais moi cette nuit )
juste pour chiadé un peu plus :
Function HNUIT(DVac As Range, FVac As Range, Optional nd As Date = 5 / 6, Optional nf As Date = 1 / 4)
hd = DVac.Value hf = FVac.Value
If hf > hd Then Select Case hd Case Is < nf: a = nf - hd Case Is > nd: a = nd - hd End Select Select Case hf Case Is < nf: a = hf - hd Case Is > nd: a = a + hf - nd End Select ElseIf hf < hd Then Select Case hd Case Is < nd: a = 1 / 6 Case Is >= nd: a = 1 - hd End Select If hf > nf Then a = a - (hf - nf) If hd < nf Then a = a + (nf - hd) a = hf + a Else End If HNUIT = a End Function

|
| |
|
| Paulus | Posté le 17/07/2008 à 16:38 |
Petit astucien
389 Messages
| galopin01 a écrit :
la démo ne marche que parce que tu as démarré à 1h et que tu as choisi l'incrémentation automatique.
Si tu démarres à 00:00 ou 00:30 ça ne marche pas ou c'est faux quelle que soit l'heure de fin...
Non... l'ami Galopin sur ce plan notre ami Béry à vsé juste....Tans pis tu as perdu....Je te laisse le soin de juger toi-même par les tests en PJ: d'une part la version heures pleines, d'autre part la version heures fractionnées.
En rouge, pas de retour de la formule fabriquée par Béry puisqu'il manque un dernier segment de calcul...Toutefois, ai découvert le cas où le début de poste est < 6:00 et la fin de poste > 20:00. Le cas s'est déjà produit lors d'un incident (très rare) où l'équipe sortante est dans l'obligation de redoubler son poste. (c.f. PJ). Dans ce cas on distribue des casse-croûte et on prime le poste !
Bravo l'ami Galopin. J'ai soumis ta macrotique (2nd version) à la batterie de test J'ai pas bloqué ton truc du tout. C'est dommage pour Béry que tu lui ai envoyé une mois bat pour tondre sa pelouse..
FAUDRAIt que l'ami nadav prenne sa décision pour clore le post
Voir ICI
Merci en tout cas à vous deux, perso j'ai appris beaucoup. Modifié par Paulus le 17/07/2008 16:44 |
| |
|
| galopin01 | Posté le 17/07/2008 à 17:41 |
Astucien
4321 Messages
|
galopin01 a écrit :
la démo ne marche que parce que tu as démarré à 1h et que tu as choisi l'incrémentation automatique.
Si tu démarres à 00:00 ou 00:30 ça ne marche pas ou c'est faux quelle que soit l'heure de fin...
T'as la tête dure, hein ! ça tombe bien moi aussi ! 
Ta démo ne marche que parce que tu utilises l'incrémentation automatique au lieu de taper zéro / deuxpoints /zéro / Enter
Tu as alors 1er janvier 1900 au lieu de 0h00. ça te fait donc un résultat juste "par hasard" car on ne peut pas dire qu'un résultat juste à partir d'une donnée fausse soit exact. Ce zéro heure zéro zéro fait donc bien parti du segment manquant comme tu dis et ce résultat juste s'apparente assez au Diamètre du cercle que tu trouves en divisant le carré de l'hypothénuse par le cours de l'Euro (section potaches recalés au bac de mai 68)
La preuve par l'image :

T'as compris ou je recommence ? 

Modifié par galopin01 le 17/07/2008 17:43 |
| |
|
| Paulus | Posté le 17/07/2008 à 18:11 |
Petit astucien
389 Messages
| RE:
Ta présentation illustrée à propos des dates est parfaite et justifiée et t'en remercie. Tu sais dans cette spécialité je ne suis pas "masterisé" alors je me débrouille comme je peux, c'est le résultat d'une formation dans le cadre de l'amateurisme.
Modifié par Paulus le 17/07/2008 18:11 |
| |
|
| nadav | Posté le 17/07/2008 à 19:21 |
Petit astucien
8 Messages
| Bonjour a tous
j'ai rentre la formule de berylion du 16/07 a20:25
quand je bosse de soir ca marche nickel par contre si je suis de matin ca compte 0 si je commence avant 6:00
quand je serais de matin je rentrerais manuellement tant pis
merci a tous de m'avoir aide sur ce probleme
a+ |
| |
|
| Paulus | Posté le 17/07/2008 à 21:10 |
Petit astucien
389 Messages
| Salut nadav,
Si tu as suivi le fil, j'ai fait le tour du problème. Tu as compris que la formule du 16/07 20:25 ne couvre pas tous les cas dont celui que tu cites. Par contre le module Vba conçu par l'ami Galopin donne un résultat universel. Il couvre tout les cas. Il te faut donc utiliser ce moyen. A partir de ce qu'il donne en ligne dis moi si tu sais arranger ton classeur pour avoir une disposition qui te convient. Si tu ne sais pas il faudrait que je m'y consacre. Dans ce cas il faut me donner par CJoint une ligne de conduite.
A + Modifié par Paulus le 17/07/2008 21:21 |
| |
|
| nadav | Posté le 18/07/2008 à 19:56 |
Petit astucien
8 Messages
| salut paulus
merci a toi (et aux autres bien sur) de suivre ce message mais comme je le disais plus haut je suis novice sur excel et sur forum aussi lol
je suis preneur pour tes conseils mais les termes "module vba" et "CJoint" c'est du chinois pour moi
si tu voulais m'en dire plus ce serais sympa
merci
a+ |
| |
|
| Paulus | Posté le 18/07/2008 à 20:47 |
Petit astucien
389 Messages
| galopin01 a écrit : La deuxième nettement plus ergonomique qui est une adaptation de la première avec une fonction personnalisée.
Sauf autre bogue à découvrir...
Bonsoir,
Si tu pouvais me passer l'antidote (s'il existe), je modifierais ton module Vba ce qui arrangerait bien l'affaire de notre client nadav. Je pourrais ainsi lui organiser un classeur personnalisé de façon à ce qu'il n'est rien à faire hormis piloter. Ma batterie de tests n'a révélé aucune autre défaillance.
| Heure |
Heure |
Heure de nuit |
|
|
Heure |
Heure |
Heure de nuit |
|
| embauche |
débauche |
base 60 |
base 10 |
|
|
embauche |
débauche |
base 60 |
base 10 |
|
| 20:30 |
06:45 |
10:15 |
10.25 |
09:30 |
|
20:00 |
06:00 |
10:00 |
10.00 |
|
| 21:30 |
07:45 |
10:15 |
10.25 |
08:30 |
|
21:00 |
07:00 |
9:00 |
9.00 |
|
| 22:30 |
08:45 |
10:15 |
10.25 |
07:30 |
|
22:00 |
08:00 |
8:00 |
8.00 |
|
| 23:30 |
09:45 |
10:15 |
10.25 |
06:30 |
|
23:00 |
09:00 |
7:00 |
7.00 |
|
| 00:30 |
10:45 |
10:15 |
10.25 |
05:30 |
|
00:00 |
10:00 |
6:00 |
6.00 |
|
| |
|
|
|
|
|
|
|
|
|
|
| T o t a l heures de nuit |
|
|
|
T o t a l heures de nuit |
|
|
Merci à toi pour ton intervention. A + |
| |
|
| Paulus | Posté le 18/07/2008 à 22:17 |
Petit astucien
389 Messages
| Salut l'Ami,
J'ai modifié ton module 1 comme suit (en rouge) :
End Select If hf > nf Then a = a - (hf - nf) If hd < nf Then a = a + (nf - hd) If hd > nd Then a = a - (hf - nf) + (hf - nf) a = hf + a
Plus de problème (sauf si une subtilité macrotique m'échappe). Tu me dis si c'était le cas
Bonne nuit à tous |
| |
|
| galopin01 | Posté le 18/07/2008 à 22:56 |
Astucien
4321 Messages
| Bah... Je ne vois pas à quoi ça sert. En fait l'original me semblait parfait ! 
Je ne vois pas trop ce que fabrique. Tu dois t'emmêler un peu la comprenette : revoie un peu mon classeur d'origine et tu verras qu'il n'y a pas de bogue. Enfin... pas ou tu cherches ! 
Je n'ai pas dit qu'il n'y a pas de bogue, je n'ai pas dit non plus qu'il y a un bogue, J'ai juste dit s'il y en a : trouvez les !
En prime je vous ai concocté une gaterie
A+ Modifié par galopin01 le 19/07/2008 13:34 |
| |
|
| Paulus | Posté le 19/07/2008 à 15:04 |
Petit astucien
389 Messages
| galopin01 a écrit : En prime je vous ai concocté une gaterie
Salut l'ami... cal des anciens,
Effectivement, on peut faire aussi comme tu as fait dans ta "gaterie" protégée - Les 5 "rouges" (mon post du 18/7 20:47) sont cette fois valides, - On peut aussi préférer afficher la série de dièses plutôt que 0:00 pour l'équipe de Jour 6:00 à 16:00 ou 7 à17 ou 8 à 18 ou 9 à 19. Perso j'aime pas !
La mise en forme de la petite appli pour nadav sera faite par mes soins. L'environnement sera installé autour de la commande d'exécution (=galopin) telle qu'elle se présente dans ta "gâterie"
A + |
| |
|
| galopin01 | Posté le 19/07/2008 à 16:42 |
Astucien
4321 Messages
| Bonjour,
J'ai modifié depuis pour supprimer les dièses (recharger sur le nouveau lien)
A+ |
| |
|
| Paulus | Posté le 19/07/2008 à 17:53 |
Petit astucien
389 Messages
| galopin01 a écrit : Bonjour, J'ai modifié depuis pour supprimer les dièses (recharger sur le nouveau lien)
Biloute y fatig elquel ? , j'airinvu dou jerekarq ! Actuellement, je fabrique le tableau de nadav et constate qu'il a bossé vendredi 18 juillet de 6:0 à 17 heures. Le module renvoit dièse après rechargement mais j'ai pas compris où recharger !
Modifié par Paulus le 19/07/2008 18:12 |
|