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...
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...
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
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"))
=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
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
=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"))
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.