Calculer le temps entre 2 heures avec texte

Bonjour le Forum.

Je travaille avec un classeur de gestion de personnels dont je ne suis le créateur et celui-ci est protégé.

Je dois saisir les journées de service en respectant strictement 12heures et 20 minutes entre la fin de service et la prise de service suivante.

Là où ça se complque, les prévisions de service s'inscrivent sur deux lignes distantes.

Afin d'éviter les erreurs de saisie, j'aimerai proposer au gestionnaire du classeur une modification qui permettrait de mettre en rouge si les 12h20 ne sont pas respectées en prenant en compte la seconde ligne de saisie.

Ligne 4, chaque cellule de B4 à AF4 = 07h45.

Ligne 7, B7 à AF7=24h

Je ne sais comment réaliser ce projet.

Pouvez-vous m'orienter soit par formule, soit par VBA ?

A vous lire.

Licaon.

Bonjour le Forum,

@Licaon : plus de 10 téléchargts mais pas de réponse...

Il manque quelques infos essentielles :

les prévisions de service s'inscrivent sur deux lignes distantes

lesquelles exactement ?

Ligne 4, chaque cellule de B4 à AF4 = 07h45.

C'est un horaire d'embauche ? minimum ?

Ligne 7, B7 à AF7=24h

C'est quoi ?

Le jour précédent le 1er du mois est où ? pour la 1ere comparaison

mettre en rouge si les 12h20 ne sont pas respectées en prenant en compte la seconde ligne de saisie

c'est la ligne 5 ?

quelle est la finalité des lignes 4, 5, 6 et 7 ?

Un minimum d'explications est nécessaire pour déterminer une solution soit par MFC, soit Validation de données , soit VBA.

à te lire

Cordialement

Bonjour Axion, bonjour le Forum.

Merci de l'aide que tu pourras m'apporter.

Je vais essayer d'être plus clair, c'est un fichier dans je ne peux éviter d'utiliser pour la programmation des horaires de service de mes collègues. Si cela tenais qu'à moi, ce classeur serait structuré différemment.

Toutes les journées de service sont comptées à 07h45. Entre une fin de service et la prise de service suivante il doit y avoir au minimum 12h20 de repos journalier.

Certaines comme les jours de repos, (RP, RQ, RU, etc.) sont écrites en texte, (ligne 7), alors que les journées de travail au format horaire sur la ligne 4, les cellules de B4 à AF4 représentant les jour du mois.

Actuellement, les lignes 5 et 6 sont utilisées pour des commentaires ou autres particularités.

La finalité de ce que j'aimerai obtenir par exemple :

Vendredi 08:00/15:45, samedi RP, dimanche RP, et lundi 04:00/11:45

N'ayant pas le nombre d'heures correct, (12h20 de repos journalier, plus 2 X 24h soit 60h20) la cellule du lundi doit s'écrire en rouge, ou se colorer en rouge.

Sur l'item, "le jour précédent...", chaque mois est une feuille distincte. le calcul, formule doit pouvoir être en continuité d'une feuille à l'autre.

A te lire.

Licaon.

Bonjour,

En attendant ta réponse, j'avais préparé une solution adaptant la ligne 5 aux horaires de débauche, par facilité.

Ainsi, le vérification du délai débauche-embauche s'avère correct.

Voir fichier joint

Je n'y ai pas tenu compte de la durée de repos (2x 24h) c'est à prendre en compte également ?

Pour celà, il faudrait 2 colonnes sup. au lieu d'1 pour comparer le 1er du mois avec les 2 derniers jours du mois précédent

Toutefois, s'il doit apparaître un contrôle relatif à la durée d'activité, je reste à ta disposition.

à te lire

Cordialement

Bonjour Axion, bonjour le Forum.

Ces formules me conviennent très bien.

J'ai ai inséré ce bout de formule en ligne 5 :

=SI(C4="";"";C4+"7:45")

pour automatiser le calcul et les MFC fonctionnent bien, et la Msgbox si le repos journalier n'est pas respecté.

Reste à faire prendre en compte la ligne 7 dans la même idée, mais à force de chercher, je m'y perds.

Je suis parti sur l'idée d'une condition supplémentaire et du style si C7 contient du texte alors ajouter 24 h.

Peut-être y a t-il une possibilité de dire que ce "texte" équivaux à 24 h pour simplifier comme tu l'as fait sur le classeur ?

A te lire.

Licaon.

Bonsoir le Forum, Licaon,

Je te propose cette version par MFC.

Quelque explications dans le dossier, mais désolé pour les horaires notés... c'est pour tester !

Bonne suite

Cordialement

Edit : Je croyais que les 7h45 étaient pour l'embauche habituelle

j'ai donc viré la MBox pour horaire très matinal...

Bonjour Axion, bonjour le Forum.

Super le projet avance, et vu le nombre de consultations du fil, je ne suis pas le seul intéressé.

Malgré le peu de temps personnel disponible en ce moment, je me suis orienté vers l'idée que si E7 n'est pas vide, cela affiche 00:00 en E5 avec cette formule :

=SI(ESTVIDE(E7);"";E4+"00:00")

Pour ne pas saisir manuellement l'horaire de fin de service, j'ai mis, toujours en E5, la formule suivante :

=SI(C4="";"";C4+"7:45")

Les deux formules fonctionnent bien séparément, mais je ne comprends pas bien comment les combiner pour que si la première formule s'applique, la seconde ne s’exécute pas et inversement. Plusieurs essais avec les informations glanées ici et là restent vaines en rapport avec ma compréhension.

Bonne journée.

Licaon.

Bonjour,

Effectivement, en mettant la formule E4 + 7h45, les cellules suivantes de la ligne 4 se colorent en rouge

pour annuler cette erreur, ajouter (E4=0) dans la MFC rouge "delai12h20"

Elle devient : E4+(E4=0)+1-D5<0,513888

quant à la MFC orange "delai60h20" : E4+1+(D5=0)+(C5=0)+((E4=0)*2)+((D5>0)*2)-DECALER(E4;1;-(D5=0)-(C5=0)-1)

elle tient compte du nombre de 0 précédents (0, 1 ou 2) sur la ligne 5, pour comparer avec l'heure de débauche appropriée.

Si tu veux bloquer la saisie en ligne 4 pour congés signalés en ligne 7, utilise la Validation de Données "Personnalisée"

à te lire

Cordialement

Bonjour Axion, bonjour le Forum.

Après une semaine bien chargée, je reprends le projet.

Merci Axion pour ton travail, notamment pour les MFC dont certaines subtilités me sont inconnues, en exemple la gestion des noms. J’approfondirai prochainement

J'ai cherché un peu partout et je trouve pas de sujet suffisamment compréhensible pour mes connaissances.

J'aimerai pour obtenir la formule pouvant arriver à ce résultat :

=SI(E4="";"";E4+"7:45")

=SI(ESTVIDE(E7);"";E4+"00:00")

sinon E4 et E7 = ""

Je n'arrive pas à imbriquer ces bouts de formule, j'ai regardé avec le OU et le ET sans résultat. Un petit coup de pouce serait le bienvenu.

A vous lire.

Licaon.

Bonsoir Licaon, le Forum,

Je note une incohérence dans ta dernière formule :

Si E7 est vide (=""), il n'y a donc pas de congé prévu, et E4 est disponible pour recevoir une donnée.

Si E4 est vide et E7 se trouve rempli(e), toute inscription de donnée en E4 sera refusée par la "Validation de Données"

accessible par l'onglet "Données".

Mais seule une macro pourra effacer 2 cellules, dans l'esprit de la dernière ligne que tu évoques,

surtout qu'elles se font mutuellement référence ! (référence circulaire)

La ligne 4 reçoit les horaires d'embauche par saisie,

toute formule se trouvant dans une cellule de la ligne sera écrasée par la saisie.

Je te propose une version par "validation de données", à tester.

Si j'ai mal compris, je souhaite des compléments d'info

à te lire

Cordialement

Bonjour Axion, bonjour le Forum?

On avance et en plus dans une mise en place fort intéressante qui va me faire progresser en matière de MFC.

J'ai modifier la MFC orange car on est parti sur un exemple avec 2 repos consécutifs. Si il n'y a qu'un seul repos, on était plus bon avec nos 60h20.

Il y a un souci lorsque je saisi un horaire qui se termine après minuit. Quand j'inscrit 17:00 en E4, cela renvoie en E5 24:00 au lieu de 00:45.

Un autre facteur que j'ai oublié. Tout horaire entre 18h30 et minuit impose un temps de repos de 14h20. (Merci la réforme du code du travail) au lieu des 12h20 précédents.

Bonne journée.

Licaon.

Bonsoir Licaon, le Forum,

Désolé pour la réponse tardive, mais l’aide à la gestion d’une manifestation socio-culturelle m’a accaparé tout le WE.

Pour en revenir à ta demande, il y a d’une part :

- La modif du délai 12h20 à 14h20 qui ne demande que la rectif d’une valeur dans formule « delai12h20 » ,

nommée en Gestionnaire (<0,513888 devient : <0,597222) + modif du nom, bien sûr.

- D’autre part, le delai 60h20 pouvant devenir 36h20 (ou 38h20 ?) dans certaines conditions. Lesquelles ? ….

Selon la personne (ou son contrat), la semaine, le mois, la saison ?

Par quel moyen différencier ces conditions ? … Sont-elles généralisées ?

- Enfin, si tu arrives à 24h et des poussières, c’est que tu es au lendemain.

Donc tu verras paraître le surplus en ligne 5 de la colonne suivante, compté à partir de 0h00, pour le jour suivant.

J’ai modifié un peu la formule pour palier à certaines erreurs de non-reconnaissance par la MFC.

À te lire

Cordialement

Bonsoir Axion, le Forum.

Je suis comme toi, bien surchargé en cette période.

Pour répondre à tes questions :

Dans la ligne 7, tout ce qui est saisi correspond à 24 h.

Chaque journée de service est égale à 07h45.

Le repos journalier doit être de 12h20, sauf si l'horaire d'embauche est compris entre 18h30 et minuit. Dans ce cas, le repos journalier est de 14h20.

Dans le dernier classeur, en saisissant 18:30 en E4, l'horaire en H5 affiche 24:00 , par contre en F5, cela affiche bien l'horaire de fin de service. est-il possible d'avoir ce résultat en H5.

A te lire.

Licaon.

Bonsoir Licaon, le Forum,

J'ai modifié les formules pour ta demande.

Par contre, je ne pige pas :

en saisissant 18:30 en E4, l'horaire en H5 affiche 24:00 , par contre en F5, cela affiche bien l'horaire de fin de service. est-il possible d'avoir ce résultat en H5.

car en saisissant 18:30 en E4, l'horaire 24:00 s'affiche en E5 (pas en H5) et le surplus en F5 (le lendemain) c'est normal.

je présume une erreur de frappe.

Dans ce cas, explique-moi vraiment le but de ce décalage jusqu'en H5.

à te lire

Cordialement

Bonjour Axion, bonjour le Forum.

Oupss, il y a une faute de frappe !

Par contre, il faudrait que l'horaire de fin de service soit absolument en E5 si on bascule de journée.

Il semblerait qu'en saisissant 17:00 en E4, le report se fait bien en F5 , mais cela rend impossible une saisie en F4 à 17:00 . cela compte une Nuit ou Repos,alors qu'il y a bien les 14:20 de repos journalier.

A te lire.

Licaon.

Bonjour,

Voici la modif pour ta demande, à tester.

J'ai viré la Validation en ligne 4, devenue inutile.

à te lire

Cordialement

Bonjour Axion, bonjour le Forum.

Après adaptation sur mon classeur final, cela fonctionne à merveille.

Je te remercie mille fois pour ton investissement dans la finalisation de ce projet.

A bientôt sur le Forum.

Licaon.

Bonjour Licaon, le Forum,

À temps perdu et à titre perso, j'ai remis en cause le principe que je trouve fastidieux à l'usage.

Je te propose une nouvelle version, extensible sans contrainte et plus dynamique, avec explications.

Je te remercie de ton retour sympa et, si tu as des questions, n'hésite pas.

Cordialement

Rechercher des sujets similaires à "calculer temps entre heures texte"