Formuler avec des heures

Résolu
YOUPI!OUAI! Messages postés 92 Statut Membre -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Avant d'exposer mon problème, je tiens à remercier toute la communauté grâce à qui j'ai beaucoup progressé dans la compréhension des fonctions.

Reste que j'ai un souci.
Pour avoir un résultat logique j'utilise la formule suivante:
=SI(MAINTENANT()<A1;A1;MAINTENANT())
"A1" Pour un Horaire Fixe noté 18:00 par exemple.
Le problème est que EXCEL refuse de donné le résultat logique lorsque A1< que MAINTENANT().
J'ai relevé que A1 en format nombre apparait: 0.75 quand "MAINTENANT()" fait apparaitre un nombre qui évolue - forcément - comme par exemple 42520.77 je pense que le problème se situe à ce niveau, mais je ne connais pas la bonne méthode pour convertir A1 ( J'ai lu ici et là qu'il fallait * 24 ou /1:00 etc sans succès)

Merci pour votre aide.

3 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonsoir,

    A mon sens il y a plusieurs problèmes, la syntaxe MAINTENANT() donne la date et l'heure ce qui fait que dès la syntaxe MAINTENANT() saisie le résultat est déjà dépassé
    quand à 0.75 correspond à une valeur décimale qui doit être traduite en heure ce qui correspond à 00:45:00
    0.75/24=0,03125 formaté en heure = 00:45:00

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. YOUPI!OUAI! Messages postés 92 Statut Membre 1
       
      Bonsoir Mike,

      Bien que je ne peux l'affirmer avec certitude, je ne pense pas que la syntaxe MAINTENANT() pose un problème puisque lorsque MAINTENANT()> que A1, ça marche puisque 42520.77 et suivants sont> que 0.75.
      Par contre 0.75 est l'équivalent de 18:00 sur mon ordi. pas 00:45:00 que faire?

      A te lire
      0
  2. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     
    Bonjour,

    A1 est en heure, qui est une fraction de jour, qui pour excel vaut 1

    la date 42520.77 donne jj:mm:aaaa, mais aussi hh:mm:ss

    Et c'est justement la partie decimale pour les heures

    donc quand maintenant() te donne 0,75 (3/4 de 24 =>18 h) la partie decimale de 42520.77 soit 0.77, te donne 18:28:48 (en format heure)

    et pour cela tu utilises la fonction tronque(),

    Crdmt
    0
    1. YOUPI!OUAI! Messages postés 92 Statut Membre 1
       
      Bonsoir DjiDji,

      Merci pour l'info, je teste. et je reviens à toi.
      0
    2. YOUPI!OUAI! Messages postés 92 Statut Membre 1
       
      J'ai essayé, Ca ne marche pas,

      Concrètement en A1 j'ai 20:00:00 - En A2 j'ai =MAINTENANT() et en A3 j'ai la formule: =SI(A2()<A1;A1;A2()) que et comment dois-je modifier pour que ça fonctionne.
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,
    d'après ce que je comprends, essaye comme cela

    =SI((HEURE(A2)&":"&MINUTE(A2))*1<A1;A1;A2)

    et formate la cellule en heure voir s'il s'agit bien du résultat escompter

    en plus simple tu peux écrire
    =SI(A2-ENT(A2)<A1;A1;A2)
    et formater la cellule en heure

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. YOUPI!OUAI! Messages postés 92 Statut Membre 1
       
      Merci Mike,


      Alors ça marche quand A2< A1; mais quand A2>A1 la cellule affiche #REF!
      0
      1. YOUPI!OUAI! Messages postés 92 Statut Membre 1 > YOUPI!OUAI! Messages postés 92 Statut Membre
         
        OK Mike ça marche!

        En fait j'ai modifié ta formule comme ceci:
        =SI((HEURE(A2)&":"&MINUTE(A2))*1<A1;A1;(HEURE(A2)&":"&MINUTE(A2)))

        Merci pour ton aide précieuse, tu m'a fait gagner un temps fou.
        0
      2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147 > YOUPI!OUAI! Messages postés 92 Statut Membre
         
        La deuxième formule est plus simple et te donne le même résultat
        =SI(A2-ENT(A2)<A1;A1;A2)
        et formater la cellule en heure
        0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Re,

      reprends mes deux formules, initialement j'avais laissé trainer tes doubles parenthèses après A2()), que j'ai retiré dès que je m'en suis aperçu
      0