OVH Cloud OVH Cloud

Re des macros pour des formules

22 réponses
Avatar
Ulysse
ReBonjour à tous,
Je calcule des heures de présence (travail de nuit) entre :
* 21h et 22h ;
* 22h et 6h.

Le format des heures de début, de fin de travail et le résultat sont en
centième. Ex. 20h30mn = 20,50 ; 22h45mn = 22,75 ; 6h20mn =
6,33 ...

En C5 heure début de travail
D5 heure fin de travail

Pour calculer la présence entre 21h et 22h j'utilise cette formule:
=SI(ET(C5>=$G$1;C5<=$G$2;D5<=C5);$G$2-C5;SI(ET(C5<=$G$1;D5>=$G$2);$G$2-$G$1;SI(ET(C5<=$G$1;D5>=$G$1;D5<=$G$2);D5-$G$1;SI(ET(C5>=$G$1;D5<=$G$2;D5>C5);D5-C5;SI(ET(C5>=$G$1;C5<=$G$2;D5>=$G$2);$G$2-C5;SI(ET(C5<$G$1;D5<C5);$G$2-$G$1;""))))))

G1 = 21
G2 = 22

Pour le calcul des heures de travail entre 22h et 6h voici la formule :
=SI(ET(C5>=$H$2;C5<=$H$1;D5>=$H$1;D5<=24);D5-$H$1;SI(ET(C5>=$H$2;C5<=$H$1;D5<C5;D5<=$H$2);(24-$H$1+D5);SI(ET(C5>=$H$2;C5<=$H$1;D5<C5;D5>=$H$2);($H$2+24-$H$1);SI(ET(C5>=$H$1;C5<=24;D5>C5;D5<=24);D5-C5;SI(ET(C5>=$H$1;C5<=24;D5<C5;D5<6);(D5+24-C5);AD5)))))
en AD5 la suite de la formule :
=SI(ET(C5>=$H$1;C5<=24;D5<C5;D5>=$H$2);($H$2+24-C5);SI(ET(C5<$H$2;C5<D5;D5>=$H$2);$H$2-C5;SI(ET(C5<$H$2;C5<D5;D5<$H$2);D5-C5;"")))

H1 = 22
H2 = 6

Un coup de main !

10 réponses

1 2 3
Avatar
Jacky
Bonjour,

Les solutions d'AV ne conviennent pas ?

JJ

"Ulysse" a écrit dans le message de
news:
ReBonjour à tous,
Je calcule des heures de présence (travail de nuit) entre :
* 21h et 22h ;
* 22h et 6h.

Le format des heures de début, de fin de travail et le résultat sont en
centième. Ex. 20h30mn = 20,50 ; 22h45mn = 22,75 ; 6h20mn > 6,33 ...

En C5 heure début de travail
D5 heure fin de travail

Pour calculer la présence entre 21h et 22h j'utilise cette formule:

=SI(ET(C5>=$G$1;C5<=$G$2;D5<Å);$G$2-C5;SI(ET(C5<=$G$1;D5>=$G$2);$G$2-$G$1;

SI(ET(C5<=$G$1;D5>=$G$1;D5<=$G$2);D5-$G$1;SI(ET(C5>=$G$1;D5<=$G$2;D5>C5);D5-
C5;SI(ET(C5>=$G$1;C5<=$G$2;D5>=$G$2);$G$2-C5;SI(ET(C5<$G$1;D5<C5);$G$2-$G$1;
""))))))

G1 = 21
G2 = 22

Pour le calcul des heures de travail entre 22h et 6h voici la formule :

=SI(ET(C5>=$H$2;C5<=$H$1;D5>=$H$1;D5<$);D5-$H$1;SI(ET(C5>=$H$2;C5<=$H$1;D5

<C5;D5<=$H$2);(24-$H$1+D5);SI(ET(C5>=$H$2;C5<=$H$1;D5<C5;D5>=$H$2);($H$2+24-
$H$1);SI(ET(C5>=$H$1;C5<$;D5>C5;D5<$);D5-C5;SI(ET(C5>=$H$1;C5<$;D5<C5;
D5<6);(D5+24-C5);AD5)))))
en AD5 la suite de la formule :

=SI(ET(C5>=$H$1;C5<$;D5<C5;D5>=$H$2);($H$2+24-C5);SI(ET(C5<$H$2;C5<D5;D5> $H$2);$H$2-C5;SI(ET(C5<$H$2;C5<D5;D5<$H$2);D5-C5;"")))


H1 = 22
H2 = 6

Un coup de main !




Avatar
Ulysse
Si, elles sont bonnes pour un format horaire. Cependant, j'ai oublié de
mentionner que le format des horaires de travail est en centième.


Bonjour,

Les solutions d'AV ne conviennent pas ?

JJ

"Ulysse" a écrit dans le message de
news:
ReBonjour à tous,
Je calcule des heures de présence (travail de nuit) entre :
* 21h et 22h ;
* 22h et 6h.

Le format des heures de début, de fin de travail et le résultat sont en
centième. Ex. 20h30mn = 20,50 ; 22h45mn = 22,75 ; 6h20mn > > 6,33 ...

En C5 heure début de travail
D5 heure fin de travail

Pour calculer la présence entre 21h et 22h j'utilise cette formule:

=SI(ET(C5>=$G$1;C5<=$G$2;D5<Å);$G$2-C5;SI(ET(C5<=$G$1;D5>=$G$2);$G$2-$G$1;

SI(ET(C5<=$G$1;D5>=$G$1;D5<=$G$2);D5-$G$1;SI(ET(C5>=$G$1;D5<=$G$2;D5>C5);D5-
C5;SI(ET(C5>=$G$1;C5<=$G$2;D5>=$G$2);$G$2-C5;SI(ET(C5<$G$1;D5<C5);$G$2-$G$1;
""))))))

G1 = 21
G2 = 22

Pour le calcul des heures de travail entre 22h et 6h voici la formule :

=SI(ET(C5>=$H$2;C5<=$H$1;D5>=$H$1;D5<$);D5-$H$1;SI(ET(C5>=$H$2;C5<=$H$1;D5

<C5;D5<=$H$2);(24-$H$1+D5);SI(ET(C5>=$H$2;C5<=$H$1;D5<C5;D5>=$H$2);($H$2+24-
$H$1);SI(ET(C5>=$H$1;C5<$;D5>C5;D5<$);D5-C5;SI(ET(C5>=$H$1;C5<$;D5<C5;
D5<6);(D5+24-C5);AD5)))))
en AD5 la suite de la formule :

=SI(ET(C5>=$H$1;C5<$;D5<C5;D5>=$H$2);($H$2+24-C5);SI(ET(C5<$H$2;C5<D5;D5> > $H$2);$H$2-C5;SI(ET(C5<$H$2;C5<D5;D5<$H$2);D5-C5;"")))


H1 = 22
H2 = 6

Un coup de main !









Avatar
Jacky
Re...
Et il a répondu....
Il faut diviser "les heures" par 24 !

=SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(début/24;21/24));MAX(0;22/2
4-MAX(début/24;21/24))+MAX(0;MIN(fin/24;22/24)-21/24))

=MOD(fin/24-début/24;1)-SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(débu
t/24;6/24));MAX(0;22/24-MAX(début/24;6/24))+MAX(0;MIN(fin/24;22/24)-6/24))

Nomme le cellule C5 "début" et la cellule D5 "fin" et,..... pas de problème.
JJ


"Ulysse" a écrit dans le message de
news:
Si, elles sont bonnes pour un format horaire. Cependant, j'ai oublié de
mentionner que le format des horaires de travail est en centième.


Bonjour,

Les solutions d'AV ne conviennent pas ?

JJ

"Ulysse" a écrit dans le message de
news:
ReBonjour à tous,
Je calcule des heures de présence (travail de nuit) entre :
* 21h et 22h ;
* 22h et 6h.

Le format des heures de début, de fin de travail et le résultat sont
en



centième. Ex. 20h30mn = 20,50 ; 22h45mn = 22,75 ; 6h20mn > > > 6,33 ...

En C5 heure début de travail
D5 heure fin de travail

Pour calculer la présence entre 21h et 22h j'utilise cette formule:



=SI(ET(C5>=$G$1;C5<=$G$2;D5<Å);$G$2-C5;SI(ET(C5<=$G$1;D5>=$G$2);$G$2-$G$1;



SI(ET(C5<=$G$1;D5>=$G$1;D5<=$G$2);D5-$G$1;SI(ET(C5>=$G$1;D5<=$G$2;D5>C5);D5-



C5;SI(ET(C5>=$G$1;C5<=$G$2;D5>=$G$2);$G$2-C5;SI(ET(C5<$G$1;D5<C5);$G$2-$G$1;


""))))))

G1 = 21
G2 = 22

Pour le calcul des heures de travail entre 22h et 6h voici la formule
:






=SI(ET(C5>=$H$2;C5<=$H$1;D5>=$H$1;D5<$);D5-$H$1;SI(ET(C5>=$H$2;C5<=$H$1;D5



<C5;D5<=$H$2);(24-$H$1+D5);SI(ET(C5>=$H$2;C5<=$H$1;D5<C5;D5>=$H$2);($H$2+24-



$H$1);SI(ET(C5>=$H$1;C5<$;D5>C5;D5<$);D5-C5;SI(ET(C5>=$H$1;C5<$;D5<C5;


D5<6);(D5+24-C5);AD5)))))
en AD5 la suite de la formule :



=SI(ET(C5>=$H$1;C5<$;D5<C5;D5>=$H$2);($H$2+24-C5);SI(ET(C5<$H$2;C5<D5;D5> > > $H$2);$H$2-C5;SI(ET(C5<$H$2;C5<D5;D5<$H$2);D5-C5;"")))



H1 = 22
H2 = 6

Un coup de main !











Avatar
Ulysse
Ok Jacky
je multiplie par 24
$*SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(début/24;21/24));MAX(0;22/24-MAX(début/24;21/24))+MAX(0;MIN(fin/24;22/24)-21/24))

la formule n'est pas complète, si heure fin de travail > 24 (termine le
lendemain) le résultat n'est pas bon.

Il me reste à tester l'autre formule.

Bon week end et à lundi


Re...
Et il a répondu....
Il faut diviser "les heures" par 24 !

=SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(début/24;21/24));MAX(0;22/24-MAX(début/24;21/24))+MAX(0;MIN(fin/24;22/24)-21/24))

=MOD(fin/24-début/24;1)-SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(débu
t/24;6/24));MAX(0;22/24-MAX(début/24;6/24))+MAX(0;MIN(fin/24;22/24)-6/24))

Nomme le cellule C5 "début" et la cellule D5 "fin" et,..... pas de problème.
JJ



Avatar
AV
la formule n'est pas complète, si heure fin de travail > 24


Grrrrrr........
Faudrait au moins lire et tester les réponses !
Et ne pas entamer un deuxième fil pour répéter la même chose....
Pffff......

AV

Avatar
Jacky
Re..

....le résultat n'est pas bon.
Ca n'étonnerais....

Regarde ici:
http://cjoint.com/?jbriuKopyR
JJ

"Ulysse" a écrit dans le message de
news:
Ok Jacky
je multiplie par 24 :

$*SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(début/24;21/24));MAX(0;2

2/24-MAX(début/24;21/24))+MAX(0;MIN(fin/24;22/24)-21/24))

la formule n'est pas complète, si heure fin de travail > 24 (termine le
lendemain) le résultat n'est pas bon.

Il me reste à tester l'autre formule.

Bon week end et à lundi


Re...
Et il a répondu....
Il faut diviser "les heures" par 24 !


=SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(début/24;21/24));MAX(0;22/2


4-MAX(début/24;21/24))+MAX(0;MIN(fin/24;22/24)-21/24))


=MOD(fin/24-début/24;1)-SI(fin/24>=début/24;MAX(0;MIN(fin/24;22/24)-MAX(débu



t/24;6/24));MAX(0;22/24-MAX(début/24;6/24))+MAX(0;MIN(fin/24;22/24)-6/24))



Nomme le cellule C5 "début" et la cellule D5 "fin" et,..... pas de
problème.


JJ






Avatar
JLuc
AV avait soumis l'idée :
Grrrrrr........
Faudrait au moins lire et tester les réponses !
Et ne pas entamer un deuxième fil pour répéter la même chose....
Pffff......

AV


Si çà, c'est pas de la colère... lol

--
JLuc

Avatar
Jacky
Grrrrrr........
Cela me rappelle (une photos) avec un certain regard "sévère" que certains

avaient qualifié de "sérieux"
Sérieusement sévère.
;-)))
JJ

"AV" a écrit dans le message de
news:
la formule n'est pas complète, si heure fin de travail > 24


Grrrrrr........
Faudrait au moins lire et tester les réponses !
Et ne pas entamer un deuxième fil pour répéter la même chose....
Pffff......

AV





Avatar
AV
Si çà, c'est pas de la colère... lol


Mais non, mais non...
Simple épiphénomène...

AV

Avatar
AV
??
Heu... j'ai pas suivi...

AV
1 2 3