1. #1
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut arrondir le résultat d'un calcul avec heures et minutes

    bonjour,
    me voici devant un nouveau problème qui peut vous paraître simple , mais pour moi …
    tout est inscrit dans le classeur joint
    Sans nom 1.ods

    le calcul de A pas de souci, là où ça coince c'est pour B avec les paramètres que j'indique
    j'ai essayé avec les fonctions, plafond, plancher, minute, arrondi sup et inf,
    j'avais réussi à un moment donné, j'ai voulu insérer dans une fonction si, mais que chique
    et j'ai fait tellement de manips que du coup je ne sais plus avec quoi j'avais réussi (au moins une bonne approche)
    voilà je pense que je vous ai donné tout ce qu'il fallait pour m'aider
    mais n'hésitez pas à me demander des précisions
    merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2009
    Messages : 72
    Points : 92
    Points
    92

    Par défaut Calcul minutes

    Bonjour,
    N'y connaissant pas trop dans les formules élaborées, j'ai écris une fonction.
    Dans la cellule D13 il y a l'appel à cette fonction : =ARRONDIRHEURE(C12)

    La fonction procède au calcul et met à jour la cellule B13

    voir le fichier joint corrigé.
    Cordialement

    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
    Function ArrondirHeure(hHeure As Date )
     Dim monheure As Date
     Dim mn As Long
     Dim correction As double
     monheure = hHeure
     mn = Minute(monheure)
     
     If mn <= 15 then 
      correction = mn/1440
      monHeure = monHeure -correction
     ElseIf mn >15 And mn <=45 Then 
      diff = 30 - mn
      correction = diff/1440
      monHeure = monHeure +correction
     ElseIf mn > 45 Then 
      diff = 60 - mn
      correction = diff/1440
      monHeure = monHeure +correction
     End If 
     ThisComponent.getCurrentController().getActiveSheet().getCellRangeByName("C13").Value = monheure
    End Function
    Fichiers attachés Fichiers attachés
    Libre Office Version: 6.0.1.1 (x64)
    Windows 10

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    Merci,
    dommage qu'il faille passer pas une fonction, j'aurai préféré avec une formule, mais merci quand même d'avoir si vite répondu
    je vais regarder ça et reviens vers vous pour vous dire
    merci
    déb

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    re,
    ci-joint le fichier modifié comme j'ai compris
    Calcul heure_modif_1.ods
    et ainsi de suite si d'autres jours à ajouter ?
    y a-t-il quelque chose de plus simple à faire ?
    car pour l'instant je ne sais pas si l'arrondi se fera /jour ou /période
    dans ce dernier cas il n'y a aucun souci, il suffira de calculer les heures avant l'arrondi.
    merci
    déb

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2009
    Messages : 72
    Points : 92
    Points
    92

    Par défaut Calcul minutes

    Bonsoir,

    dommage qu'il faille passer pas une fonction, j'aurai préféré avec une formule
    Oui je pense qu'une formule imbriquée est possible mais là je ne pourrai t'aider (au moins dans l'immédiat).

    Maintenant il y aura autant de formule ou fonction que de cellules à calculer. Si tu travailles sur 31 jours par exemple il faudra autant de formules que de cellules à calculer. Je ne vois pas comment faire autrement.

    Et pour :
    car pour l'instant je ne sais pas si l'arrondi se fera /jour ou /période
    Bah là il faut vraiment connaître le problème pour y apporter une solution. LibreOffice ou OpenOffice n'est pas devin
    Tout dépend ce que tu veux vraiment.
    Cordialement
    Libre Office Version: 6.0.1.1 (x64)
    Windows 10

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    re
    Bah là il faut vraiment connaître le problème pour y apporter une solution. LibreOffice ou OpenOffice n'est pas devin
    Tout dépend ce que tu veux vraiment.
    oui ça je le sais
    bon donc la modif que j'ai faite est bonne ce qui est très bien
    je vais attendre les derniers renseignements nécessaires pour cloturer
    et voir si il y a moyen de "simplifier"
    merci
    déb

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    Bonjour,
    me revoilà après une demie journée de galère juste parce que j'ai oublié de mettre la fonction "heure" en anglais "hour" (ben oui, suis pas un pro )
    après étude du script, j'ai un peu modifié" , plutôt rajouté, des conditions :
    -inférieur à une heure on compte la première complète
    -pour éviter l'affichage d'un calcul quand la date est "vide"
    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
    24
    25
    26
    27
    28
    Function ArrondirHeure(hHeure As Date )
     Dim monheure As Date
     Dim mn As Long
     Dim correction As double
     monheure = hHeure
     mn = Minute(monheure)
     hh = Hour(monheure)
     
     If hHeure = 0 then
      monheure= hHeure
     ElseIf hh < 1 then
      diff = 60 - mn
      correction = diff/1440
      monHeure = monHeure +correction
     ElseIf mn <= 15 then 
      correction = mn/1440
      monHeure = monHeure -correction
     ElseIf mn >15 And mn <=45 Then 
      diff = 30 - mn
      correction = diff/1440
      monHeure = monHeure +correction
     ElseIf mn > 45 Then 
      diff = 60 - mn
      correction = diff/1440
      monHeure = monHeure +correction
     End If 
     ThisComponent.getCurrentController().getActiveSheet().getCellRangeByName("B17").Value = monheure
    End Function
    je ne sais pas si c'est pro, mais ça marche, si ça peut être amélioré merci de me le dire

    je mettrais le résolu dans les jours qui viennent, vais encore laisser un peu de temps pour mes essais
    en attendant un grand merci

  8. #8
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    octobre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : octobre 2016
    Messages : 26
    Points : 42
    Points
    42

    Par défaut

    Salut,

    Une formule à mettre en C13 pour faire le Job :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(((C12*24)-ENT(C12*24))<=0,26)*(ENT(C12*24)/24)+ET((((C12*24)-ENT(C12*24))>0,26);(((C12*24)-ENT(C12*24))<0,76))*((ENT(C12*24)+0,5)/24)+(((C12*24)-ENT(C12*24))>0,76)*((ENT(C12*24)+1)/24)

    A+

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    salut,
    je vais étudier ça aussi
    merci pour toute cette aide

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : juin 2014
    Messages : 50
    Points : 26
    Points
    26

    Par défaut

    bonjour,
    je clos le sujet car les réponses données sont nickel
    merci encore aux intervenants
    débitant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calcul d'heures et minutes
    Par zolafencer dans le forum Débuter
    Réponses: 8
    Dernier message: 15/01/2011, 13h02
  2. [AC-97] calcul d'heures en minutes
    Par yatmen dans le forum IHM
    Réponses: 3
    Dernier message: 14/02/2010, 08h00
  3. affichage date avec heure et minutes courantes
    Par sasseur dans le forum SAS Base
    Réponses: 4
    Dernier message: 04/03/2009, 16h48
  4. calcul avec heure
    Par froutloops62 dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/08/2007, 03h41
  5. [Dates] Calcules avec heures
    Par Pahcixam dans le forum Fonctions
    Réponses: 17
    Dernier message: 21/08/2006, 21h50

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