bonjour à toutes et à tou
je souhaite faire un arrondi au supérieur d'une division d'un nombre d'heure. Dans mon cas, j'ai la chose suivante
MonAction = tb!Actio
MonDomaine = tb!domain
hh = Left(tb![Duree], 2
mm = Right(tb![Duree], 2
If hh > 7 The
Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7
Els
Nbintervention = Nbintervention + tb!Nbin
End I
TotalHeure = TotalHeure + h
TotalMinute = TotalMinute + m
le problème rencontré est que lorsque j'ai 07:15, il prend hh/7 et trouve donc 1, moi je veux 2
comment faire
merci d'avanc
@+
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
essaie de faire : Fix((hh + (mm / 100)) / 7)
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ludivine" a écrit dans le message de news:
bonjour à toutes et à tous je souhaite faire un arrondi au supérieur d'une division d'un nombre d'heure. Dans mon cas, j'ai la chose suivante :
MonAction = tb!Action MonDomaine = tb!domaine hh = Left(tb![Duree], 2) mm = Right(tb![Duree], 2) If hh > 7 Then Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7) Else Nbintervention = Nbintervention + tb!Nbint End If TotalHeure = TotalHeure + hh TotalMinute = TotalMinute + mm le problème rencontré est que lorsque j'ai 07:15, il prend hh/7 et trouve donc 1, moi je veux 2.
comment faire? merci d'avance @+
Bonjour.
essaie de faire : Fix((hh + (mm / 100)) / 7)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"ludivine" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:4080656F-F796-4324-808D-78D0379817FF@microsoft.com...
bonjour à toutes et à tous
je souhaite faire un arrondi au supérieur d'une division d'un nombre
d'heure. Dans mon cas, j'ai la chose suivante :
MonAction = tb!Action
MonDomaine = tb!domaine
hh = Left(tb![Duree], 2)
mm = Right(tb![Duree], 2)
If hh > 7 Then
Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7)
Else
Nbintervention = Nbintervention + tb!Nbint
End If
TotalHeure = TotalHeure + hh
TotalMinute = TotalMinute + mm
le problème rencontré est que lorsque j'ai 07:15, il prend hh/7 et trouve
donc 1, moi je veux 2.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"ludivine" a écrit dans le message de news:
bonjour à toutes et à tous je souhaite faire un arrondi au supérieur d'une division d'un nombre d'heure. Dans mon cas, j'ai la chose suivante :
MonAction = tb!Action MonDomaine = tb!domaine hh = Left(tb![Duree], 2) mm = Right(tb![Duree], 2) If hh > 7 Then Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7) Else Nbintervention = Nbintervention + tb!Nbint End If TotalHeure = TotalHeure + hh TotalMinute = TotalMinute + mm le problème rencontré est que lorsque j'ai 07:15, il prend hh/7 et trouve donc 1, moi je veux 2.
comment faire? merci d'avance @+
Eric
Bonjour Ludivine,
J'ai du mal à te suivre Duree est un champ de ta table au format heure abrégée je suppose. Tu mets: hh = Left(tb![Duree], 2) donc hh contient une valeur entre 00 et 24 c'est donc un entier. Par contre pas forcément multiple de 7.
Le problème serait donc de savoir s'il faut rajouter 1 intervention de plus dès lors que le modulo de hh par 7 est différent de 0. Est-ce là ton problème ? Si c'est le cas, alors sous la ligne: Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7) tu mets If hh Mod 7 <>0 then Nbintervention = Nbintervention + 1 End If
Remarque: mm = Right(tb![Duree], 2) --> es-tu sure que ca te retourne bien les minutes ? chez moi je récupères les secondes ! Pour récupérer les minuts je dois mettre: mm=mid(tb![Duree],4, 2) bien que mon champ soit formaté hh:mm
J'ai du mal à te suivre
Duree est un champ de ta table au format heure abrégée je suppose. Tu
mets:
hh = Left(tb![Duree], 2) donc hh contient une valeur entre 00 et 24
c'est donc un entier. Par contre pas forcément multiple de 7.
Le problème serait donc de savoir s'il faut rajouter 1 intervention de
plus dès lors que le modulo de hh par 7 est différent de 0.
Est-ce là ton problème ?
Si c'est le cas, alors sous la ligne:
Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7)
tu mets
If hh Mod 7 <>0 then
Nbintervention = Nbintervention + 1
End If
Remarque:
mm = Right(tb![Duree], 2) --> es-tu sure que ca te retourne bien les
minutes ? chez moi je récupères les secondes ! Pour récupérer les minuts
je dois mettre:
mm=mid(tb![Duree],4, 2) bien que mon champ soit formaté hh:mm
J'ai du mal à te suivre Duree est un champ de ta table au format heure abrégée je suppose. Tu mets: hh = Left(tb![Duree], 2) donc hh contient une valeur entre 00 et 24 c'est donc un entier. Par contre pas forcément multiple de 7.
Le problème serait donc de savoir s'il faut rajouter 1 intervention de plus dès lors que le modulo de hh par 7 est différent de 0. Est-ce là ton problème ? Si c'est le cas, alors sous la ligne: Nbintervention = Nbintervention + tb!Nbint + Fix(hh / 7) tu mets If hh Mod 7 <>0 then Nbintervention = Nbintervention + 1 End If
Remarque: mm = Right(tb![Duree], 2) --> es-tu sure que ca te retourne bien les minutes ? chez moi je récupères les secondes ! Pour récupérer les minuts je dois mettre: mm=mid(tb![Duree],4, 2) bien que mon champ soit formaté hh:mm