problème format heure dans feuille de comptage

bertgrav

XLDnaute Occasionnel
bonjour,

dans le fichier joint, j'ai un soucis avec le comptage des heures

dans un premier temps, j'effectue un comptage d'heure sur une journée, ce résultat s'inscrit en cellule S7 (pour cet exemple)
ensuite je compare ce résultat avec le nombre d'heures théorique à effectuer
si ces 2 paramétres sont identiques, je devrais avoir 00:00
(dans le code, je fait un contrôle de sup ou égal à la valeur théorique, si c'est le cas je fais MOD(s7-r7;1), sinon je fais un MOD(r7-s7;1) et lui inflige un format avec un - devant le format heure)

le résulat me renvoie -24:00 comme si le contrôle s'était effectué sur la seconde condition......

pourquoi le code ne reconnait il pas ma valeur égale....

merci si vous avez des idées, car j'essaie de trouver depuis hier.....et je n'y arrive pas

maintenant si vous connaissez une méthode différente.......je prends

chantal
 

Pièces jointes

  • essais_heures.xls
    41 KB · Affichages: 76
  • essais_heures.xls
    41 KB · Affichages: 74
  • essais_heures.xls
    41 KB · Affichages: 74

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

bonsoir,

pour être plus clair......car il faut avouer c'était pas trés trés clair

j'ai écrit de nouveau un code, où je compare le théorique avec le réel effectué

donc en cas d'égalité je devrais avoir une info en colonne T qui me dit c'est identique , puis dans le cas où c'est inf: info inf, et pour sup: une info sup.

tout ceci bien sûr c'est pour l'exemple.

en faisant des recherches et en remettant le format en nombre et non pas en heure, je me suis aperçue que le résutat était différent du théorique à une valeur infiniment petite, mais juste assez pour me donner une info différente d'égal......
et le problème c'est que pour la suite de mon code, j'ai besoin de cette valeur égal....

si vous avez des idées...

chantal
 

Pièces jointes

  • essais_heures.xls
    38 KB · Affichages: 56
  • essais_heures.xls
    38 KB · Affichages: 51
  • essais_heures.xls
    38 KB · Affichages: 57

Pierrot93

XLDnaute Barbatruc
Re : problème format heure dans feuille de comptage

Bonsoir Chantal, le forum

je ne suis pas sur d'avoir compris ton problème, mais as tu essayé de faire tes calculs directement par le code, cela solutionnerait peut être ton problème, j'ai essayé la ligne de code ci dessous et je trouve bien comme résultat 00:00

Code:
 Cells(x, 19).Value = (Cells(x, 19).Offset(0, 13).Value - Cells(x, 19).Offset(0, 14).Value) + _
    (Cells(x, 19).Offset(0, 10).Value - Cells(x, 19).Offset(0, 11)) + (Cells(x, 19).Offset(0, 7).Value - Cells(x, 19).Offset(0, 8))

Si ca peut t aider.
Bonne soirée
@+
 

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

rebonsoir,

où as tu trouvé 00:00 ?

J'ai essayé le code et effectivement je trouve 00:00 en COLONNE S
mais mon contrôle se fait en colonne T
Mais il y a une petite erreur dans le code que tu viens de m'envoyer offset(0,13) par exemple vas chercher la cellule 13 vers la droite.....il faut taper -13 pour aller chercher celles vers la gauche

J'ai tapé ton code mais j'ai toujours le même résultat

chantal
 

Pièces jointes

  • essais_heures.xls
    34.5 KB · Affichages: 54
  • essais_heures.xls
    34.5 KB · Affichages: 55
  • essais_heures.xls
    34.5 KB · Affichages: 58

Pierrot93

XLDnaute Barbatruc
Re : problème format heure dans feuille de comptage

Re Chantal

Bon a priori j ai pas tout compris, c est même certain.

un dernier classeur test avec petite macro pour obtenir résultat 00:00 mais bon !!!

@+
 

Pièces jointes

  • classeur1.xls
    19.5 KB · Affichages: 69
  • classeur1.xls
    19.5 KB · Affichages: 69
  • classeur1.xls
    19.5 KB · Affichages: 68

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

merci pierrot pour ton obstination

je vais essayer de t'expliquer dans le classeur que j'ai joint tout à l'heure

en colonne T je fait un contrôle du temps théorique par rapport au temps réellement fait
en colonne S je fais une addition des différents temps faits dans la journée, et j'obtiens une quantité d'heure
et lorsque cette valeur est égal à la valeur théorique, je devrait afficher en Colonne T l'information "identique" (voir le code)

or, cette information ne s'affiche pas et on obtient l'info "inf à théorique", car l'addition des horaires ne fait pas en réalité 07:00 mais légérement moins ?
alors que 07:00 est bien affiché
POURQUOI MYSTERE

je voudrais avoir, lorque l'addition des horaires est égal à la théorie, l'info "identique" qui s'affiche dans la cellule en colonne T

Ai je été plus claire

chantal
 

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

je pense avoir un début d'explication:

lorsque je rentre une info 07:00 excel lit cette info non pas sous forme 7 heures mais sous forme chiffre c'est à dire en version nombre : 0,291666666666667 (avec 11 chiffres 6)

lorsque je fais une somme d'heures exemple 01:00 + 04:00 + 02:00
excel lit: 0,0416666666666667 + 0,166666666666667 + 0,0833333333333333

ce qui donne 0,2916666666666667 (avec 12 chiffres 6)

donc ce cumul d'heures est légérement inférieur à l'autre valeur.....

comment faire pour que ces valeur soient lues de façon identiques

ne faut il pas changer de format.....je n'en sais plus rien

chantal
 

Pierrot93

XLDnaute Barbatruc
Re : problème format heure dans feuille de comptage

Re Chantal,

essaies avec le code que j ai mis dans ton module 1, là il me renvoie bien égalité, mais tu as raison excel renvoi toujours les dates sous forme de nombre.

@+
 

Pièces jointes

  • essais_heures.xls
    37 KB · Affichages: 55
  • essais_heures.xls
    37 KB · Affichages: 51
  • essais_heures.xls
    37 KB · Affichages: 51

Pierrot93

XLDnaute Barbatruc
Re : problème format heure dans feuille de comptage

Re

Je crois en fait qu il faut arrondir

cela donne

Code:
Sub test()
Dim maplage As Range, c As Byte, l As Byte
Set maplage = Range("R7:T9")

For l = 1 To maplage.Rows.Count
    If Round(maplage(l, 2), 5) > Round(maplage(l, 1), 5) Then
        maplage(l, 3).Value = "Sup"
        ElseIf Round(maplage(l, 2), 5) < Round(maplage(l, 1), 5) Then maplage(l, 3).Value = "Inf"
        ElseIf Round(maplage(l, 2), 5) = Round(maplage(l, 1), 5) Then maplage(l, 3).Value = "Egal"
    End If
Next l
End Sub

J'espère qu enfin ca va être bon ... lol

Bonne soirée
 

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

oui pierrot ton code renvoie bien l'égalité......mais à condition que l'info que tu mets en S est écrite à la main mais pas issue d'une addition.

par contre je crois que j'ai trouvé le moyen de biaiser le systéme:
si l'addition des différentes heures me donne une erreur par rapport à la théorie à........15 chiffres aprés la virgule, ben, il suffit d'arrondir à 7 ou 8 chiffres aprés la virgule c'est ce que j'ai fait en insérant arrondi inférieur dans le code sur les 2 valeur en COLONNE S et R et ça à l'air de fonctionner

chantal
 

Pièces jointes

  • essais_heures.xls
    40 KB · Affichages: 64
  • essais_heures.xls
    40 KB · Affichages: 66
  • essais_heures.xls
    40 KB · Affichages: 61

bertgrav

XLDnaute Occasionnel
Re : problème format heure dans feuille de comptage

pierrot merci d'avoir encore cherché, je vois que les grands esprits se sont rencontrés, le temps que je donne une solution, tu m'envoie .....la même réponse à peu de choses prés....

encore merci

bonne soirée......je commençais à en avoir assez de ce code

chantal
 

Monique

Nous a quitté
Repose en paix
Re : problème format heure dans feuille de comptage

Bonjour,

Je me demande si tu ne ferais pas aussi bien d'arrondir à la minute la plus proche
ARRONDI(Réf*1440;0)/1440
ou bien à la seconde la plus proche
ARRONDI(Réf*86400;0)/86400

Dans ce cas, pour la durée théorique, tu peux taper seulement 07:00 sans formule ou =7/24
 

Pièces jointes

  • HeuresBertgrav.zip
    9.8 KB · Affichages: 44

bqtr

XLDnaute Accro
Re : problème format heure dans feuille de comptage

Bonjour Bertgrav, le fil

J'ai trouvé cette formule pour faire des calculs sur les heures négatives.

La formule est :
En A1 et B1 les heures, en C1 la formule
=si(B1<A1;"-";"")&TEXTE(ABS(B1-A1);"[hh]:mm")

Le résultat s'affiche par exemple -07:30 s'il est négatif, 07:30 s'il est positif ou 00:00 en cas d'équivalence.

Il faudrait pouvoir codé ca en VBA pour faire tes comparaisons, moi j'en suis incapable mais toi ou d'autres personnes avaient peut-être le savoir faire qui va bien.

Si ca peut t'aider à avancer.

A+

P.O
 

Discussions similaires

Réponses
20
Affichages
759

Statistiques des forums

Discussions
312 525
Messages
2 089 335
Membres
104 125
dernier inscrit
bouchez