Qu'est-ce qui ne va pas dans cette formule?

anthoYS

XLDnaute Barbatruc
Bonsoir,

Le but c'est de coloré en rouge E, si l'horaire est dépassé ou pas encore atteint, voir les 2 bornes à chaque fois, ou deux tranches...
Et en vert (E), si l'heure actuelle est compris dans les bornes des tranches horaires hor1 et hor2. Ensuite, préciser à côté en F, si E rouge faisable dans et le temps restant, sinon, jusqu'à quand l'activité est faisable, par exemple elle débute à 17h et la borne finale est 18h alors jusqu'à dans une heure en F et E en fond vert.

La formule en F2 est celle-là, mais elle n'affiche rien "" :
Code:
=SI(ET(MAINTENANT()-AUJOURDHUI()<$H2;MAINTENANT()-AUJOURDHUI()>$G2);"jusqu'à dans"&HEURE($H2-MAINTENANT()-AUJOURDHUI())&":"&SI(MINUTE($H2-MAINTENANT()-AUJOURDHUI())<10;"0"&MINUTE($H2-MAINTENANT()-AUJOURDHUI());MINUTE($H2-MAINTENANT()-AUJOURDHUI()));SI(ET(MAINTENANT()-AUJOURDHUI()>$H2;MAINTENANT()-AUJOURDHUI()<$G2);"possible dans "&HEURE($G2-MAINTENANT()-AUJOURDHUI())&":"&SI(MINUTE($G2-MAINTENANT()-AUJOURDHUI())<10;"0"&MINUTE($G2-MAINTENANT()-AUJOURDHUI());MINUTE($G2-MAINTENANT()-AUJOURDHUI()));""))

Mise en forme conditionnelle de E2 à E5 en cas d'horaires hors des tranches hor1 et hor2, mais fausse car colorée tout en rouge...
Code:
=OU(MAINTENANT()>=AUJOURDHUI()+$H2;MAINTENANT()<=AUJOURDHUI()+$G2)

Pour la MEFC en fond vert en E2 :
Code:
=ET(MAINTENANT()>=AUJOURDHUI()+$G2;MAINTENANT()<=AUJOURDHUI()+$H2)


Voir fichier joint à la discussion(notamment l'onglet 'attendus'), ou je suis plus explicite je pense. :)

A+, merci !
 

Pièces jointes

  • diffDheures.xls
    21 KB · Affichages: 57
  • diffDheures.xls
    21 KB · Affichages: 64
  • diffDheures.xls
    21 KB · Affichages: 56

eriiic

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

Bonsoir,

Tes formules me paraissent correctes (enfin je n'ai pas regardé de près celle en F2) mais ce qui me gène c'est que je pense qu'elles ne seront ré-évaluées que sur un recalcul de la feuille.
Il faudrait sans doute prévoir une macro pour faire un evaluate régulièrement car si personne ne fait de saisie ou F9 régulièrement ça restera figé...
Confirme si c'était bien ça ton pb...
Se méfier ensuite du <00:00.
Tu ne peux pas mettre 23:59 ? Ca serait plus simple

eric

Edit : et si le vba obligatoire se confirme pourquoi ne pas tout faire en vba...
 
Dernière édition:

anthoYS

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

Bonjour eriiiic,

Paraissent bonnes, oui. Mais justement, le soucis vient de F2

=SI(ET(MAINTENANT()-AUJOURDHUI()<$H2;MAINTENANT()-AUJOURDHUI()>$G2);"jusqu'à dans"&HEURE($H2-MAINTENANT()-AUJOURDHUI())&":"&SI(MINUTE($H2-MAINTENANT()-AUJOURDHUI())<10;"0"&MINUTE($H2-MAINTENANT()-AUJOURDHUI());MINUTE($H2-MAINTENANT()-AUJOURDHUI()));SI(ET(MAINTENANT()-AUJOURDHUI()>$H2;MAINTENANT()-AUJOURDHUI()<$G2);"possible dans "&HEURE($G2-MAINTENANT()-AUJOURDHUI())&":"&SI(MINUTE($G2-MAINTENANT()-AUJOURDHUI())<10;"0"&MINUTE($G2-MAINTENANT()-AUJOURDHUI());MINUTE($G2-MAINTENANT()-AUJOURDHUI()));""))

ou excel me renvoie rien du tout ou "#NOMBRE" quand E est vert...

Que se passe t-il?

Qu'est-ce qui cloche?

Merci encore d'avance pour votre futur concours

edit ; ok pour VBA, mais moi je ne suis pas un pro du VBA, la programmation en anglais, et toutes ces subtilités, pas simple... mais je suis d'accord
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

Bonjour,

J'ai préféré la refaire plutôt que d'analyser la tienne.
Pour éviter les #VALEUR je tiens compte des 2 plages tout de suite.
Pour simplifier j'ai remplacé 00:00 par 23:59:59 d'où parfois l'erreur d'1 min (à l'affichage, sinon elle est d'1 s)

Essaie avec :
=SI(OU(ET(MOD(MAINTENANT();1)>=$G2;MOD(MAINTENANT();1)<=$H2);ET(MOD(MAINTENANT();1)>=$I2;MOD(MAINTENANT();1)<=$J2));"jusque dans "&TEXTE(SI(MOD(MAINTENANT();1)<$H2;$H2;$J2)-MOD(MAINTENANT();1);"hh:mm");"faisable dans "&TEXTE(SI(MOD(MAINTENANT();1)<$G2;$G2;$I2)-MOD(MAINTENANT();1);"hh:mm"))

eric

PS: le F9 est nécessaire pour rafraichir
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

Bonjour,

Je te propose d'essayer cette formule en F2 :

Code:
=SI(OU(ET(MOD(MAINTENANT();1)>G2;MOD(MAINTENANT();1)<H2);ET(MOD(MAINTENANT();
1)>I2;MOD(MAINTENANT();1)<J2));"jusqu'à dans "&TEXTE(SI(MOD(MAINTENANT();1)<
H2;H2;J2)-MOD(MAINTENANT();1);"hh:mm");"faisable dans "&TEXTE(SI(MOD(
MAINTENANT();1)<G2;G2;I2)-MOD(MAINTENANT();1);"hh:mm"))
Pour le 00:00, même réflexion qu'Eric, je préfère 23:59.

Bien sûr, nécessite d'être actualisé (F9)

@+

Edit : Salut Eric :) On dirait que les esprits se sont croisés :p

@+
 

anthoYS

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

re,

merci à vous deux (et eriiiic et Tibo) ;

Seul problème, c'est que la formule d'eriiiic donne : "#NOM",



celle de Tibo : "#VALEUR" en F2 et c'est ok pour F3.



Merci encore ;

F9 ça met "#NOM" en texte, donc je ne comprends pas.
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

Bonjour,

Un espace c'est intercalé dans le 4ème MAINTEN ANT()
J'avais essayé de corriger mais le site le remettait..

eric

Edit : pour moi la formule de Tibo retourne la même chose.
Par contre j'ai l'impression que ni l'un, ni l'autre n'avons prété attention que ta 2nde plage pouvait se terminer avant 23:59... d'où le #VALEUR que tu auras également sur ma formule.
Pas sûr de pouvoir voir ça tout de suite, et il faudrait que tu confirmes vouloir le délai jusqu'à la 1ère plage du lendemain...
Tibo, il y a un fichier dans le 1er post
 
Dernière édition:

anthoYS

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

re,

merci oui, bien vu eriiiic.

en fait je veux comme il est indiqué dans l'onglet 'attendus'

merci encore
 

Pièces jointes

  • diffDheures.xls
    21 KB · Affichages: 71
  • diffDheures.xls
    21 KB · Affichages: 71
  • diffDheures.xls
    21 KB · Affichages: 73

Tibo

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

re,

Peut-être avec ceci en F2 :

Code:
=SI(OU(ET(MOD(MAINTENANT();1)>=$G2;MOD(MAINTENANT( );1)<=$H2);ET(MOD(
MAINTENANT();1)>=$I2;MOD(MAINTENANT();1)<=$J2));"jusque dans "&TEXTE(SI(MOD(
MAINTENANT();1)<$H2;$H2;$J2)-MOD(MAINTENANT();1);"hh:mm");"faisable dans "&
TEXTE(ABS(SI(MOD(MAINTENANT();1)<$G2;$G2;$I2)-MOD(MAINTENANT();1));"hh:mm"))

Je te laisse tester

@+
 

anthoYS

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

re,

petite précision (Tibo), il n'y a pas 5h00 de maintenant à 9h00 du matin?

Merci
 

Pièces jointes

  • diffDheures.xls
    20.5 KB · Affichages: 35
  • diffDheures.xls
    20.5 KB · Affichages: 40
  • diffDheures.xls
    20.5 KB · Affichages: 40

Tibo

XLDnaute Barbatruc
Re : Qu'est-ce qui ne va pas dans cette formule?

re,

Toute petite correction, mais sans trop de certitude :

Code:
=SI(OU(ET(MOD(MAINTENANT();1)>=$G2;MOD(MAINTENANT( );1)<=$H2);ET(MOD(
MAINTENANT();1)>=$I2;MOD(MAINTENANT();1)<=$J2));"jusque dans "&TEXTE(SI(MOD(
MAINTENANT();1)<$H2;$H2;$J2)-MOD(MAINTENANT();1);"hh:mm");"faisable dans "&
TEXTE(ABS(SI(MOD(MAINTENANT();1)>$J2;$G2;$I2)-MOD(MAINTENANT();1));"hh:mm"))

Mais pas testé. Je te laisse le faire avec plus d'exemples.

@+
 

Discussions similaires

Réponses
31
Affichages
2 K

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley