Forum Clubic

Calcul d'heure avec OpenOffice Calc

Bonjour à tous.

Voici mon tabeau :
A1…B1…C1…D1…E1
3…01:45…02:00…03:45…00:56… ok
3…04:30…02:30…07:00…19:45… pas ok (devrait faire 1h45)
1…02:15…07:15…09:30…04:45… ok
1…01:15…01:30…02:45…01:22… ok
2…03:30…04:45…08:15…18:45… pas ok (devrait faire 2h45)
2…03:30…03:15…06:45…18:15… pas ok (devrait faire 1h15)

La colonne A est un nombre
Les colonnes B à E sont exprimées en format heure HH:MM
D = B + C
E=D/(A+1)
exemple : E1=D1/(A1+1)

Je ne comprends pas pourquoi le résultat dans la colonn E est juste sur certaines lignes, et faux sur d’autres.
Avez-vous une explication ?

Merci d’avance
Edité le 20/01/2012 à 17:18

Bonjour,

Ca ne va pas t’aider, mais je viens d’essayer chez moi et je n’ai pas ce problème, les résultats sont bons (en particulier en E6 j’obtiens 2h15).

Je pense qu’il doit y avoir un paramètre mal positionné quelque part… mais où…

le format de toutes tes cellules est bien le meme ?

Oui c’est bien le même : 13:37 dans la liste.

Je ne comprend pas bien la difference entre le format :
HH:MM
et
[HH]:MM
qui me donne des résultat différents.

la différence entre les 2 ets que l’un cumule les heures au delà de 24 et l’autre non
en gros 25h reviendra a 25h avec [HH]:MM et 1h avec HH:MM donc utilise [HH] pour tes calculs sinon ça va pas le faire :wink:


source : [christianwtd.free.fr...](http://christianwtd.free.fr/index.php?rubrique=DebFonctions02)

J’ai pu un peu cerner le problème.
En fait le problème ne se situe pas dans la cellule E mais dans certaines cellules B et C

Quand je frappe le nombre d’heure dans la cellule B, par exemple, 3:30 cela fonctionne correctement.

Mais quand la cellule B est le résultat d’un calcul, ou quand je fais un copier/coller de la cellule B de mon fichier d’origine, pour le mettre dans mon fichier de test, cela ne fonctionne pas, enfin pas toujours.

Exemple : copier/coller dans la cellule B5 --> il apparait 03:30 dans la cellule, mais dans la ligne au dessus du tableau il apparait 555:30:00

Si je frappe manuellement 3:30 dans la cellule B5, cette fois, il apparaît bien 03:30:00 dans la ligne au dessus du tableau
et la je n’ai pas d’explication.

certainement une cellule référence qui est copiée aussi mais qui du coup n’a pas la meme valeur
ou le format qui n’est pas copié en meme temps que la valeur

Tu n’as pas une cellule qui comporte la date en plus de l’heure, ce qui pourrait peut-être engendrer ces problèmes ?

Remarque : 555:30 (au format [HH]:MM) ça fait 23 jours et 03:30, si ça peut t’aiguiller par rapport à la source de ta colonne B. :wink:

Si tu n’arrives pas à trouver la raison de ces 23 jours supplémentaires, ou s’il est trop compliqué à l’usage de supprimer ces 23 jours lors de la recopie en colonne B, tu peux alors modifier la formule en colonne D pourne retenir que la partie inférieure à 24 heures et donc annuler ces 23 jours.
=MOD(B1;1)+MOD(C1;1)

Cela génère toutefois un nouveau problème : si la valeur copiée en colonne B (ou C) est pile égale à 24:00, alors elle ne vaudra plus que 00:00 dans le calcul en colonne D. :frowning:
Mais peut-être qu’il est impossible qu’une valeur de la colonne B (ou C) soit pile égale à 24 heures, non ? :wink:
Edité le 08/01/2012 à 14:03

Je pense avoir trouvé où ça coince, mais pas encore pourquoi.

En fait, ton idée de 23 jours… en vérifiant, c’est toujours 23jours + l’heure réelle.
23j et 3h30 au lieu de 3h30
23j et 2h15 au lieu de 2h15

Je vais essayer d’être clair.

Les cellules B et C sont le résultat d’un calcul de la différence entre une heure de début et une heure fin.
Et si l’heure de début et plus grande que l’heure de fin, c’est là qu’il y a problème.
Exemple :
C1 est la différence entre heure fin (colonne K) et heure début (colonne G)
heure début… heure fin
G1…K1…C1
06:30…10:45…04:15
22h15…03h45…05:30
La formule :
C1=SI(K1<G1;24-(G1-K1);K1-G1)

Et le problème se pose précisément quand le calcul de C1 se fait par 24-(G1-K1)
Quand il se fait par K1-G1, pas de problème.

Et en utilisant ta proposition =MOD(B1;1)+MOD(C1;1) le problème est résolu. C’est ce que je vais utiliser, B et C étant toujours inférieure à 12h.

Merci à tous et particulièrement à Jacky67

Oui, c’est ce que j’expliquais (sans doute mal :() dans mon message précédent :
555:30 (au format [HH]:MM) ça fait 23 jours et 03:30”.

Je n’ai pas essayé, mais généralement la valeur 1 est équivalente à 24:00 (d’où l’idée d’utiliser le “modulo 1”), et donc il ne faudrait pas utiliser 24 dans ton calcul de C, mais simplement 1.

Ca donnerait ceci : C1=SI(K1<G1;1+K1-G1;K1-G1) ou encore C1=(K1<G1)+K1-G1
Edité le 08/01/2012 à 18:30

Exact.

En mettant 1 à la place de 24 dans mon premier calcul, je n’ai plus besoin d’utiliser MOD.

Encore merci.

A ton service. :wink:

Résolu