Formuler avec des heures

Résolu/Fermé
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 - 30 mai 2016 à 18:50
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 - 30 mai 2016 à 20:33
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

Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 5 101
Modifié par Mike-31 le 30/05/2016 à 18:59
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
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 1
30 mai 2016 à 19:04
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
DjiDji59430 Messages postés 4136 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 29 octobre 2024 677
30 mai 2016 à 19:03
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
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 1
30 mai 2016 à 19:30
Bonsoir DjiDji,

Merci pour l'info, je teste. et je reviens à toi.
0
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 1
30 mai 2016 à 19:39
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
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 5 101
Modifié par Mike-31 le 30/05/2016 à 20:11
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
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 1
30 mai 2016 à 20:19
Merci Mike,


Alors ça marche quand A2< A1; mais quand A2>A1 la cellule affiche #REF!
0
YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016 1 > YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016
30 mai 2016 à 20:28
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
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 5 101 > YOUPI!OUAI! Messages postés 92 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 13 juin 2016
Modifié par Mike-31 le 30/05/2016 à 20:33
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
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 5 101
Modifié par Mike-31 le 30/05/2016 à 20:23
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