amplitude horaire - cellule unique

halecs93

XLDnaute Occasionnel
Bonjour,

J'ai, pour l'exemple, la cellule en A1 qui contient ''7:30 - 9:00''. Est-il possible (sans bva ?) de calculer en A2 l'amplitude horaire, soit 1:30 ?

Grand grand merci.
 

ROGER2327

XLDnaute Barbatruc
Re : amplitude horaire - cellule unique

Bonjour halecs93, phlaurent55.


Code:
=SIERREUR(SUPPRESPACE(SUBSTITUE(DROITE(A1;NBCAR(A1)-CHERCHE("-";A1));"'";""))-SUBSTITUE(GAUCHE(A1;CHERCHE("-";A1)-1);"'";"");"")


Bonne journée.


ℝOGER2327
#8238


Dimanche 22 Pédale 143 (Saint Sengle, Déserteur - fête Suprême Seconde)
26 Ventôse An CCXXIV, 4,2799h - pissenlit
2016-W11-3T10:16:18Z
 

Pièces jointes

  • Classeur3.xlsx
    8.5 KB · Affichages: 47
  • Classeur3.xlsx
    8.5 KB · Affichages: 49

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : amplitude horaire - cellule unique

Re,

ou cette formule plus complète qui tient compte du calcul d'heure de nuit 23:30 - 9:00

=SI(STXT(A2;TROUVE("-";A2)+2;999)*1>=GAUCHE(A2;TROUVE("-";A2)-1)*1;STXT(A2;TROUVE("-";A2)+2;999)*1-GAUCHE(A2;TROUVE("-";A2)-1)*1;1+STXT(A2;TROUVE("-";A2)+2;999)*1-GAUCHE(A2;TROUVE("-";A2)-1)*1)

à+
Philippe

Edit: Bonjour Roger
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : amplitude horaire - cellule unique

Bonsour®
toujours pour le fun ... :rolleyes:
-prise en compte heures de nuit
-variabilité de la présence d'espaces superfétatoires au début, au milieu (" - ") ou à la fin

=MOD(STXT(SUBSTITUE(A3;" ";"");TROUVE("-";SUBSTITUE(A3;" ";""))+1;8)-GAUCHE(SUBSTITUE(A3;" ";"");TROUVE("-";SUBSTITUE(A3;" ";""))-1);1)
 

halecs93

XLDnaute Occasionnel
Re : amplitude horaire - cellule unique

Un bricolant un peu, j'ai complété la formule de la façon suivante :

=SIERREUR(MOD(STXT(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))+1;8)-GAUCHE(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))-1);1)+MOD(STXT(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))+1;8)-GAUCHE(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))-1);1)+MOD(STXT(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))+1;8)-GAUCHE(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))-1);1)+MOD(STXT(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))-1);1)+MOD(STXT(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))-1);1);"")


Cependant, si une cellule ne comporte pas d'indications horaires, le calcul est considéré comme erroné, renvoie une erreur et donc, une valeur nulle.

Est-il possible de passer outre les éventuelles cellules qui seraient vides afin de forcer le calcul ?

Merci
 

Modeste geedee

XLDnaute Barbatruc
Re : amplitude horaire - cellule unique

Bonsour®
modifier la formule de la façon suivante :

=SIERREUR(
MOD(STXT(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))+1;8)-GAUCHE(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))-1);1);0)
+SIERREUR(
MOD(STXT(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))+1;8)-GAUCHE(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))-1);1);0)
+SIERREUR(
MOD(STXT(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))+1;8)-GAUCHE(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))-1);1);0)
+SIERREUR(
MOD(STXT(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))-1);1);0)
+SIERREUR(
MOD(STXT(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))-1);1);"");0)
 

halecs93

XLDnaute Occasionnel
Re : amplitude horaire - cellule unique

J'airectifié de la façon suivante :

=SIERREUR(MOD(STXT(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))+1;8)-GAUCHE(SUBSTITUE(D4;" ";"");TROUVE("-";SUBSTITUE(D4;" ";""))-1);1);"0")+SIERREUR(MOD(STXT(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))+1;8)-GAUCHE(SUBSTITUE(M4;" ";"");TROUVE("-";SUBSTITUE(M4;" ";""))-1);1);"0")+SIERREUR(MOD(STXT(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))+1;8)-GAUCHE(SUBSTITUE(V4;" ";"");TROUVE("-";SUBSTITUE(V4;" ";""))-1);1);"0")+SIERREUR(MOD(STXT(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AE4;" ";"");TROUVE("-";SUBSTITUE(AE4;" ";""))-1);1);"0")+SIERREUR(MOD(STXT(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))+1;8)-GAUCHE(SUBSTITUE(AN4;" ";"");TROUVE("-";SUBSTITUE(AN4;" ";""))-1);1);"0")

ça devrait le faire...à suivre
 

Modeste geedee

XLDnaute Barbatruc
Re : amplitude horaire - cellule unique

Bonsour®

ouppppssssss.....
l'erreur était là :
Capture.JPG
en trop presque à la fin :
;"")
avec mes excuses...

tu as au moins compris la logique de construction (que je n'ai pu tester faute de fichier adéquat)
la valeur d'erreur à retenir restera cependant logiquement : 0 au lieu de "0"
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    61.7 KB · Affichages: 38

Discussions similaires

Réponses
2
Affichages
438