Majoration en fonction des heures

- - Dernière réponse : via55
Messages postés
11199
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
15 octobre 2019
- 13 juin 2019 à 20:08
Bonjour,

Je suis en train de créer une macro Excel mais je bloque sur un problème: j'ai 4 colonnes, une avec les heures de début, l'autre avec les heures de fin, une avec la durée (entre ces 2 horaires) et enfin une avec les jour. J'aimerai faire des tarifs majorés en fonction de ces colonnes donc jusque là ça va, avec quelques if on s'en sort mais j'ai un soucis. Prenons un exemple, on est samedi, l'heure de début indique 18h, l'heure de fin indique 22h30 et la durée 4h30 et imaginons maintenant que entre 18h à 19h ce soit non majoré, entre 19h et 21h30 majoré de 25% et de 21h30 à 22h30 majoré de 50%, comment je peux faire ? Je n'arrive pas à trouver de solution si quelqu'un à une piste je suis preneur !

Merci d'avance !
Afficher la suite 

2 réponses

Messages postés
11199
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
15 octobre 2019
1454
0
Merci
Bonjour

Un exemple à adapter à ton fichier
https://mon-partage.fr/f/9xTMvaz5/

Cdlmnt
Via
Merci je vais essayer cette solution !
Ca marche niquel mais j'ai du mal à comprendre, tu peux m'expliquer un peu plus en détails les formules ? Merci
Commenter la réponse de via55
Messages postés
11199
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
15 octobre 2019
1454
0
Merci
Re,

1) =SI(OU(JOURSEM(D2;2)<6;B2<=18/24);C2;$J$2-A2)
SI ou le quantième du jour de la semaine est inférieur à 6, ou la fin de travail est inférieure ou égale à 18, on fait pour les heures normales la différence entre fin et début

2) =SI(E2=C2;0;SI(B2>$K$2;$K$2-$J$2;B2-$J$2)) pour les heures à 25%
Si heures normales = durée de travail, heures majorées = 0 sinon :
si heure de fin est supérieure à heure de debut du 50% alors heures majorées = diff entre debut 50% et début 25 % sinon heures majorées = différence entre fin travail et début heures à 25%

3) =SI(F2=0;0;C2-SOMME(E2:F2)) pour heure 50%
Si heures 25%=0 alors heures 50%=0 sinon heures 50% = différence entre durée du travail et somme de heures normales et heures 25%

Cdlmnt
Via
Commenter la réponse de via55