Majoration en fonction des heures

Fermé
Shaplow - 12 juin 2019 à 11:15
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 - 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 !

2 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
12 juin 2019 à 15:01
Bonjour

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

Cdlmnt
Via
0
Merci je vais essayer cette solution !
0
Ca marche niquel mais j'ai du mal à comprendre, tu peux m'expliquer un peu plus en détails les formules ? Merci
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
13 juin 2019 à 20:08
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
0