Si pour plusieur date

Keran

XLDnaute Junior
Bonjour ,

Encore desoler de vous embeter

voila je souhaiterais recuperer dans mon fichier les dates où le temps effectuer est superieur a 21:00 ou est inferieur a 7:00 en fassant la difference entre les jours de semaine et les week end

j'avais commencer avec une formule du genre
Code:
SI(GAUCHE(HJanvier!B9;5)>"21:00";TEXTE(HJanvier!B$2;"jj/mm/aa");SI(GAUCHE(HJanvier!B9;5)>"00:00";SI(GAUCHE(HJanvier!B9;5)<"07:00";TEXTE(HJanvier!B$2;"jj/mm/aa");"");""))
(sachant quand B9:AA9 dans l'exemple j'ai mes horraire et en B2:AA2 j'ai deja mes dates )


Ainsi je voudrais pouvoir recuperer pour chaque agents les jours de chaque mois ou il a travailler


merci d'avance pour tous conseil

(ps je sais que le fichier est lourd je travaille a l'alleger mais pour l'instant c'est ce fichier qui est en utilisation dans ma boite )
 

Pièces jointes

  • Planning.xlsm
    1.2 MB · Affichages: 29
Dernière édition:

Noel Bedard

XLDnaute Occasionnel
Bonjour,

Peut-être quelque chose du genre:
Code:
=SI(ET(GAUCHE(HJanvier!D9;5)>="21:00";DROITE(HJanvier!D9;5)<="07:00");CHOISIR(JOURSEM(HJanvier!D$2;2);"Lundi";"Mardi";"Mercredi";"Jeudi";"vendredi";"Samedi";"Dimanche");"")

Vous aurez la journée. Lundi = première journée de la semaine dans cette exemple.


Bye

Je crois que j'ai fais une grosse erreur, c'est du texte que je compare..... à vérifier - plus tard pour ma part..
 
Dernière édition:

Noel Bedard

XLDnaute Occasionnel
Bonjour,
J'ai reformulé le code précédent:

Code:
=SI(ET(HEURE(GAUCHE(HJanvier!D9;5))>=21;HEURE(DROITE(HJanvier!D9;5))<=7);"0"&(HEURE(DROITE(HJanvier!D9;5))+24)-HEURE(GAUCHE(HJanvier!D9;5))&":"&MINUTE(DROITE(HJanvier!D9;5))-MINUTE(GAUCHE(HJanvier!D9;5)) & " Heures travaillées le " & CHOISIR(JOURSEM(HJanvier!D$2;2);"Lundi";"Mardi";"Mercredi";"Jeudi";"vendredi";"Samedi";"Dimanche");"")

Ce qui donne : 09:20 Heures travaillées le Mercredi
pour un 3 janvier 2018 avec comme heures ( 21:10 : 06:30 ) selon le format que vous utilisez.

Sur votre feuille vous mélangez Heures et Texte, ce qui vous oblige de toujours convertir et de jongler avec les textes.
Moi, c'est ce que j'ai pensé, un peu long comme formule. ;)
Avec cette formule vous pouvez prendre uniquement ce que vous avez besoin.

P.S. Vous remarquerez que j'ai triché en ajoutant +24 pour l'heure de fin puisque c'est le lendemain matin et que les conditions de cette formule ne permettent pas d'avoir une heure plus grande que celle de l'entrée.
Gauche(heure) >= 21 et Droite(Heure) <= 7. Autrement j'airais convertie en date.


Bye
Noël
 
Dernière édition:

Keran

XLDnaute Junior
pour les calcule d'heure j'avais deja trouver une solution par contre pour savoir si par exemble le 3 l'agent a bosser apres 21h je suis entrain de m'inspirer de votre precedent code

Code:
=SI(OU(ET(DROITE(HJanvier!E9;5)>"21:00";ESTNA(RECHERCHEV(E$2;Données!W20:X85;1;VRAI)));ET(GAUCHE(HJanvier!E9;5)<"07:00";GAUCHE(HJanvier!E9;5)>"00:00";ESTNA(RECHERCHEV(E$2;Données!W20:X85;1;VRAI))));HJanvier!E$2;"")
 

Discussions similaires

Réponses
20
Affichages
2 K
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko