IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Calcul heure par quantité total sur cadence demandé


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut Calcul heure par quantité total sur cadence demandé
    Bonjour,

    Je n'arrive pas à faire un calcul simple avec des heures<;

    J'ai une quantité de la commande par exemple : 5000

    Ma cadence demandé est de 500 par Heure

    je voudrais un champ qui calcul combien d'heure il me faut pour faire la quantité total.

    Le champ doit petre sous forme de "10:00"

    Je sais vous aller me dire tu divise 5000 par 500 tu trouves 10H

    j'ai donc fais ça dans la source contrôle "=[Quantité_Lot]/[Objectif demandé]"

    ça me donne 00:00

    je comprends pas l'erreur

    <pouvez vous m'aider ?

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Le format d'affichage et/ou le type du champ n'est surement pas le bon.

    Regarde dans la FAQ il y a pas mal de solutions pour le calcul des heures et l'affichage.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Apparament si je met le champ au format Heure abregé et que j'applique cette formule au champ "=([Quantité_Lot]/[Objectif Demandé])/24"

    ça marche le probleme est que si je depasse les 24h ça marche plus.

    J'ai bien trouvé cette fonction sur la faq

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function HeureSup24(dtm As Date) As String
        'calcule le nombre d'heures
        HeureSup24 = DateDiff("h", 0, dtm)
        'on ajoute les minutes et les secondes
        HeureSup24 = HeureSup24 &  Format(dtm, ":nn:ss")
    End Function
    Mais je n'ai ou la mettre et comment mon champ doit y faire appel.

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut,

    tu mets ca sur un module à part et tu peux l'utiliser comme une fonction connu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =HeureSup24([Quantité_Lot]/[Objectif demandé])
    enfin ca, ca marche pas puisque le résultat de la division n'est pas une date
    c'est juste l'idée pour que tu comprennes.

    sinon je te propose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([Quantité_Lot]/[Objectif demandé]\24=0;"";CChaîne([Quantité_Lot]/[Objectif demandé]\24) & 'j ') & Format([Quantité_Lot]/[Objectif demandé] Mod 24;'0":00"')
    qui devrait te convenir, si c'est >24H il mettra sous la forme: "1j 10:00"

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    la 2eme solution marche mais je n'ai jamais de minutes donc il arrondi.

    J'aimerai avoir les minutes pour tomber juste.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    De plus est e qu'à la place des jours je peux avoir des postes. C'est à dire dans une journée, il y a 3 postes.

    Donc j'aimerai avoir par exemple un resultat : 3p06:40

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Ok pour les postes c'est bon

    J'ai fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([Quantité_Lot]/[Objectif demandé]\8=0;"";CChaîne([Quantité_Lot]/[Objectif demandé]\8) & 'poste ') & Format([Quantité_Lot]/[Objectif demandé] Mod 8;'0":00"')
    Mais j'aimerais avoir les minutes ça j'y arrive pas par contre je cherche mais rien.

    Pouvez vous m'aider

  8. #8
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Salut !

    Je ne suis pas très fier de ce que j'ai fait car il y a certainement plus court* mais... je suis parti du principe que, pour sortir les minutes des heures, il faut se souvenir qu'il y a 60 minutes dans une heure.
    Partant de cela, j'ai transformé les heures de ton champ "Objectif demandé" en minutes, cela me change simplement la façon de calculer la cadence.

    Tout est résumé dans mon calcul (qui n'est pas exploitable en tant que chiffre !!!) posé en Source du champ Résultat. Essaies le et dis-moi si c'est ce que tu veux...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([Quantité_Lot]>0 Et [Objectif demandé]>0;Ent([Quantité_Lot]/([Objectif demandé]/60)/60) & ":" & Ent(([Quantité_Lot]/([Objectif demandé]/60)/60-Ent([Quantité_Lot]/([Objectif demandé]/60)/60))*100);"")
    * Je crois en effet qu'il existe une fonction qui extrait les décimales d'un chiffre quelconque mais elle ne me vient plus en mémoire pour l'instant (cela raccourcirait notoirement la formule....)
    Donc si une bonne âme s'en souvient ... je suis preneur !!
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  9. #9
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Peut etre cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Function ConvertSecondeHeure(aSeconde)
     
    On Error GoTo Erreur
    Dim lngHeure As Long
    Dim lngMinute As Long
    Dim lngSeconde As Long
     
    If IsNumeric(aSeconde) Then
        lngHeure = Int(aSeconde / 3600)
        lngMinute = Int((aSeconde - (lngHeure * 3600)) / 60)
        lngSeconde = Int(aSeconde - (lngHeure * 3600) - (lngMinute * 60))
         ConvertSecondeHeure = Format(lngHeure, "00") & ":" & _
            Format(lngMinute, "00") & ":" & Format(lngSeconde, "00")
    Else
        ConvertSecondeHeure = Null
    End If
     
    Sortie:
    Exit Function
    Erreur:
    Resume Sortie
     
    End Function

  10. #10
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut froutloops62,

    désolé de n'avoir pas pu répondre plus tot:

    voici ta formule en minute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(([Quantité_Lot]/[Objectif demandé])\8>0;CChaîne([Quantité_Lot]/[Objectif demandé]\8) & " poste(s)";"") & Format(((([Quantité_Lot]/[Objectif demandé])/8-([Quantité_Lot]/[Objectif demandé])\8)*8)/24;"\ hh:nn")
    tenant compte de l'affichage du texte "poste(s)".

    ps:
    salut Renardo,
    c'est aimable pour le code, mais il faudrait encore l'adapter car sa valeur n'est pas en seconde, mais en heure à virgule.

    salut bernardmichel,
    j'ai fait un essai avec ton code, je n'ai pas de bon résultat.
    j'ai regardé mais il faudrait apporter plusieurs corrections.
    en corrigeant ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([Quantité_Lot]>0 Et [Objectif demandé]>0;Ent([Quantité_Lot]/([Objectif demandé]/60)/60) & ":" & (Ent(([Quantité_Lot]/([Objectif demandé]/60)/60-Ent([Quantité_Lot]/([Objectif demandé]/60)/60))*60));"")
    on obtiens "nb heure:minutes"

    bernardmichel: ne pouvant t'envoyer de MP: je te souhaite bon courage dans ta nouvelle fonction de modérateur.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Ok merci beaucoup Vodiem ça marche.

    Mais encore une question

    Je voudrais faire le somme de toutes mes productions

    Cette somme va depasser les 24 comment je peux integrer cette formule dans ta formule

    Le champ Temps est sous le format heure abrégée

  12. #12
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    ou tu remplace directement dans la formule
    [Quantité_Lot]/[Objectif demandé] par Somme([Quantité_Lot]/[Objectif demandé])
    (en pied de formulaire)

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Temps est un autre champ d'un formulaire en mode feuille de données.

    Je rentre le temps qu'on fait mes opérateurs pour faire leur production.

    Donc j'aimerais faire le total de temps de toutes les production.

    Une production peut durer plusieurs postes (donc plusieurs enregistrement dans mon formulaire)


    La quantité du lot est 16000

    Mr X a mis 8h pour 2000
    Mr Y 8h pour 5000
    Mme J 7H pour 5000
    Mme g 8h pour 4000

    J'aimerais faire le total du temps pris pour le prod :

    La production du lot à pris 3poste(s)7:00

    je mets le temps effectué par les opérateur dans le un champ "Temps", si je fais =Somme([Temps]) si le résultat dépasse 24 j'aurais le même problème qu'on départ.

    J'ai essayé d'intégrer dans ta formule Somme([Temps]) à la place de Quantité_Lot\Objectif Demandé mais sans succés.

  14. #14
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    regarde cette exemple cela pourrait peut être t'aider

  15. #15
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut,
    avec cette formule en pied de form ca marche chez moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(Somme([Quantité_Lot]/[Objectif demandé])\8>0;CChaîne(Somme([Quantité_Lot]/[Objectif demandé])\8) & " poste(s)";"") & Format(((Somme([Quantité_Lot]/[Objectif demandé])/8-Somme([Quantité_Lot]/[Objectif demandé])\8)*8)/24;"\ hh:nn")
    tu peux tester en mode formulaire continus.
    si tu mets en visu feuille de donnée tu ne verras pas le résultat. il te faut mettre ca en sous form et dans la form principal récupérer la valeur du cumul.

    sinon tu peux encore prendre exemple sur Renardo et convertir tes heures [objectif demandé] en seconde => [objectif demandé]/3600 et ainsi utiliser sa fonction en t'inspirant de son exemple.

    oups,
    j'ai mieux relu...

    je te raconte des bêtises ca c'est pour le cumul de l'estimation...
    pour ce qui est du temps réel effectué par les postes ca doit fonctionner aussi, pour peu que Temps soit un champ numérique en heure s'il y a des minutes il faut les convertir de la base 60 à 100 car 1:30 c'est 1,5 pour que la formule marche convenablement.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    je comprent pas trop comment fait on pour convertir

    Je pensais qu'en faisant une chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux((Somme([Temps])\8>0;CChaîne(Somme([Temps])\8) & " poste(s)";"") & Format((((Somme([Temps])\8-([Somme([Temps])\8)*8)/24;"\ hh:nn")
    J e sais que ça peut pas marcher.

    Mais maintenant ta façon avec (EX 1poste(s)01:30) me va mieux que 25:30

    J'aimerais vraiment que la somme du champ Temps (qui est sous format Heure Abrégée) soit au format que tu m'as proposé.

    Où je prends la version de Renardo mais il faudrait la convertir pour qu'au final ça devienne (1poste(s)1:30)

  17. #17
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    froutloops62,

    si temps est au format Heure Abrégée alors c'est facile...

    la somme de temps renvoie une valeur en jour à virgule.
    1j=24h
    donc: somme([temps])*24!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux((Somme([Temps])*24)\8>0;CChaîne((Somme([Temps])*24)\8) & " poste(s)";"") & Format((((Somme([Temps])*24)/8-(Somme([Temps])*24)\8)*8)/24;"\ hh:nn")
    toi c'est pas ton fort les maths...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Ok merci Beaucoup Vodiem ça marche.

    Excuse moi d'abuser, mais j'ai une derniere petite question.

    Peut on soustraire 2 champs de ce format.

    J'ai essayé de faire [TpsPlanning]-[STemps] mais ça passe pas.

    TpsPlanning c'est cette foemule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(([Quantité_Lot]/[Objectif demandé])\8>0;CChaîne([Quantité_Lot]/[Objectif demandé]\8) & " poste(s)";"") & Format(((([Quantité_Lot]/[Objectif demandé])/8-([Quantité_Lot]/[Objectif demandé])\8)*8)/24;"\ hh:nn")
    Et STemps c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux((Somme([Temps])*24)\8>0;CChaîne((Somme([Temps])*24)\8) & " poste(s)";"") & Format((((Somme([Temps])*24)/8-(Somme([Temps])*24)\8)*8)/24;"\ hh:nn")

    Je voudrais juste faire l'ecart des 2

    Après je t'embête plus

  19. #19
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    tu ne peux pas faire une soustraction entre ces deux champs: ceux sont des textes.

    la formule s'utilise simplement en mettant la valeur à mettre en forme en heure (à virgule) au emplacement que tu sais.

    donc tu fais un calcul avant de remplacer la valeur dans la formule:
    [TpsPlanning]-[STemps]:
    ([Quantité_Lot]/[Objectif demandé]) - (Somme([Temps])*24)

    que tu remets dans la formule.
    mais si tu compte utiliser à plusieurs endroit autant faire une fonction.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    J'ai fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux(([TpsPlanning]-[STemps])\8>0;CChaîne([TpsPlanning]-[STemps]\8) & " poste(s)";"") & Format(((([TpsPlanning]-[STemps])/8-([TpsPlanning]-[STemps])\8)*8)/24;"\ hh:nn")

    ça me donne :

    233,545 poste(s) 00:09

    (J'ai mis TpsPlanning et STemps au format virgule)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Calcul ligne par ligne sur le résultat d'une requête
    Par CanardJM dans le forum Langage SQL
    Réponses: 5
    Dernier message: 15/04/2008, 13h06
  2. Calcul d'heures par tranche horaire
    Par A0080 dans le forum Excel
    Réponses: 11
    Dernier message: 05/03/2008, 14h19
  3. Calcul d'une quantité par heure
    Par orzra dans le forum C#
    Réponses: 6
    Dernier message: 12/06/2007, 13h28
  4. Réponses: 1
    Dernier message: 20/02/2007, 10h23
  5. Calcul heure UCT par rapport à heure locale
    Par bobic dans le forum Oracle
    Réponses: 1
    Dernier message: 11/05/2006, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo