Calcul heure; somme.si soustraction et modulo

Fermé
pti.biscuit - 14 oct. 2011 à 22:49
 pti.biscuit - 17 oct. 2011 à 18:01
Bonjour à tous,
Je suis confronté a un casse tete qui je l'espere ne le sera pas trop pour vous. Pourriez-vous m'aider s'il vous plait? voici mon cas.

Je suis actuellement sur la réalisation d'un planning assez complet dans lequel on rentre l'heure d'arrivée (exemple 8:00) et l'heure de depart (exemple 15:30) et qui renvoie le calcul "=MOD(heure de depart - heure d'arrivée);1", dans notre exemple le resultat est 7:30.

7h30, (ou 7.5) c'est ce que fait 1 personne sur 1 jour ( =1)
si une personne fait 4 heures, alors cela correspond à 4*1/7.5 = 0.53
si une personne fait 8 heures 30, alors cela correspond à 8.5*1/7.5 = 1.13
si jamais une personne a travaillé pendant 15 heures sur une journée, cela correspond normalement a 2, qui est aussi cencé etre le nombre de personne necessaire pour 15 heures de travail.

Toujours avec moi? OK on continue.

afin de calculer ce que j'appelerai "l'effectif en heure de présence" (ou a combien de personnes à 7h30 devraient etre programmées pour couvrir la somme de mes =MOD),
j'aimerais faire :

un modulo à 7.5 ou 7:30 d'une somme.si sur une plage du style:
=MOD(SOMME.SI(A1:A10;">0";A1:A10);7.5)

L'objectif est celui ci:

si ma SOMME.SI est = 45, il faudrait que mon MOD m'affiche 6, car 6 personnes a 7h30 sont normalement necessaire pour 45 heures de travail.

Mon tableau est en format "heure" et je pense que c'est cela la source de mon probleme car "l'effectif en heure de présence" dois etre en format "nombre avec 2 décimales" (ex: 1.13). La conversion n'est peut etre pas faisable, ou peut etre faudrait-il rajouter une ligne intermediaire?

En tout cas, mon "=MOD(SOMME.SI(A1:A10;">0";A1:A10);7.5)" ne fonctionne pas et c'est pour cela que je sollicite votre aide à tous.

Si je n'ai pas été suffisament clair, n'hesitez pas a me contacter pour plus d'infos, je vous ferai parvenir un exemple de mon xls.

Merci d'avance pour votre aide!

A voir également:

3 réponses

rafit jad kuldinger Messages postés 7689 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 2 février 2024 1 150
14 oct. 2011 à 23:04
solution 1 :

calculé en minute .. puis convertir en heures ...

2 :
cacule en heures sans compte la décimal.

3 : calcule en heures en convertissant la décimal ..

4 :
ou alor faire comme les pros considérer q une heures fait 100 ...
et ensuite convertir le résultat en heures.

le taux de conversion etant : 1.66666 (100/60 = 1.66666).

etape 1 : converttir les heures en décimal, étape deux faire les calcules, etape 3 reconvertir en heures.

1h30 =1.3 * 1.666 = 2.16 tu veux enleve 30 minute ca fait : 0.3*1.6666= 0.5.
2.16- 0.5 = 1.66
1.66/1.6666 =0.999999 (donc 1 ) . 1 = 1 heures
1
Bonjour,
je suis surement "en dehors du coup" mais tout ce qui concerne les calculs de salaires etc heures de travail etc se calcule en 100ème d'heures une minute étant égale à 1.67 centième d'heure et un centième d'heure à son inverse soit : 0.598 minute.
je pense que pour tes calculs en finalité il est préférable (pour éviter les erreurs) de faire les calculs en centième avec une colonne de conversion avant calculs et une autre en fin pour la "relecture en heure" quitte à masquer tes colonnes.
et en protéger les cellules afin qu'il ne t'arrive pas par inadvertance d'effacer les conversions qu'elles contiennent.
0
pti.biscuit
17 oct. 2011 à 18:01
Bonjour, merci pour vos réponses! J'avoue avoir eu beaucoup de difficultés à comprendre (et d'ailleurs je crois que j'ai toujours pas tout compris) mais j'ai trouvé une solution vraiment tres simple:

voici a peu pres la commande que j'aurais souhaité afin de me donner le nombre de personnes à 7:30 qu'il aurait fallut avoir en fonction du total des heures effectuées:
=MOD(SOMME.SI(A1:A10;">0";A1:A10);7.5)

Et voici comment j'ai résolu mon probleme:
J'ai convertis ma colonne C, où j'ai le résultat en heure de mon heure de depart - mon heure d'arrivée, en format standard. Ce qui m'a donné 0.3125.
J'ai conservé le format heure.

A partir de la voici ce que j'ai fais:
=(SOMME.SI(colonne de mes heures;">0";colonne de mes heures))/0.3521

Et ca me donne pile poil ce que je voulais.

Merci encore pour vos idées!
0