Mise en forme conditionnelle plage horaire

Bonjour à tous !

J'ai besoin d'un peu d'aide, ce que je souhaite faire est un peu trop technique pour moi malheureusement.

J'ai une plage horaire avec en colonne : nom; heure de début; heure de fin

Je souhaiterais faire une mise en forme conditionnelle afin de détecter visuellement un éventuel chevauchement d'heure, par rapport aux heures de début et de fin d'un agent.

Merci par avance :)

Cdt

Est-ce que vos agents peuvent travailler de nuit, par exemple de 23 à 01h00 du matin ?

Bonjour,

Optimix (salut) m'a devancé concernant cette question d'horaire. Si c'est le cas il faut impérativement ajouter la date dans la cellule des horaires.

En attendant, voici une proposition, il faut dans un premier temps que les données soient triées comme sur l'image ci-dessous:

image

Ensuite la MFC, en B2 saisir la formule suivante:

=ET($A2=$A1;OU(ET(ARRONDI($B2;5)<ARRONDI($C1;5);ARRONDI($B2;5)>ARRONDI($B1;5)); ET(ARRONDI($C2;5)>ARRONDI($B1;5);ARRONDI($C2;5)<ARRONDI($C1;5))))

Cdlt

Je n'aurais peut-être pas dû poser la question puisque l'agent 3 travaille de 17h00 à 16h30, mais comme Excel ne connaît pas les conventions collectives ???

Bonjour !

Merci beaucoup, c'est très pratique :)

Pour votre question : Non, il n'y a pas de créneau entre 23:00 du soir et 2:00 du matin, par exemple.

Sur la proposition (qui est déjà super en l'état) Il y a juste un petit problème.

Si par exemple en cellule B4 , au lieu de 8:45 je met 5:45, la mise en forme conditionnelle ne s'applique plus. Alors que pourtant l'agent 1 ne peut pas commencer à 5:45 vu qu'il fini à la fois à 6:00 (en C2) et à la fois de 6:00 à 9:00 il est occupé (ligne 3)

Si vous aviez une solution à ce petit soucis

Cdt

Effectivement, j'ai sauté un test, essayez celle-ci en B2:

=ET($A2=$A1;OU( ET(ARRONDI($B2;5)<ARRONDI($C1;5);ARRONDI($B2;5)>ARRONDI($B1;5)); ET(ARRONDI($C2;5)>ARRONDI($B1;5);ARRONDI($C2;5)<ARRONDI($C1;5)); ET(ARRONDI($B2;5)<ARRONDI($B1;5);ARRONDI($C2;5)>=ARRONDI($B1;5))))

C'est presque ça, j'ai encore un tout petit soucis

Si l'agent commence à 6:00 sur 2 lignes ça ne se déclenche pas

Dans la dernière condition, j'ai ajouté =

ET(ARRONDI($B4;5)<=ARRONDI($B3;5);ARRONDI($C4;5)>=ARRONDI($B3;5))))

la formule entière:

=ET($A2=$A1;OU( ET(ARRONDI($B2;5)<ARRONDI($C1;5);ARRONDI($B2;5)>ARRONDI($B1;5)); ET(ARRONDI($C2;5)>ARRONDI($B1;5);ARRONDI($C2;5)<ARRONDI($C1;5)); ET(ARRONDI($B2;5)<=ARRONDI($B1;5);ARRONDI($C2;5)>=ARRONDI($B1;5))))

Continuez à le torturer jusqu'à ce que tous les tests soient validés.

Je pense qu'il a assez morflé, il retiendra la leçon !

Pour mon usage, c'est parfait, merci infiniment !

Cordialement

Bonjour,

Je rouvre ce sujet finalement !

J'ai un problème avec la mise en forme conditionnel qui ne reste pas lorsque j'insère des lignes de tableau.
Je ne comprend pas trop d'où vient le problème surtout que je ne m'en aperçois que maintenant

J'étais pourtant convaincu au début que cela fonctionné sur toute la plage

Avez-vous des pistes ?

Merci

Bonjour,

Le problème vient du fait que vous utilisez un tableau structuré, lorsque vous insérez une ligne, cette dernière est vide de données, donc le tableau structuré va appliquer la MFC de la première ligne et s'arrêter à la ligne au-dessus de celle qui vient d'être insérée et reprendre à la ligne au-dessous jusqu'à la dernière. donc il scinde le tableau en 2 mais n'applique pas la formule MFC sur cette nouvelle ligne.

Pour une utilisation correcte, vous ne devait pas faire d'insertion de ligne mais plutôt ajouter vos nouvelles données sur la première ligne vide qui suit., quitte à ce que vous fassiez un tri par la suite.

Cdlt

Bonjour,

Merci pour votre explication, effectivement c'est bien ça !

Malheureusement je suis un peu coincé.

Si j'insère des lignes au tout début (même à la toute fin) du tableau, le calcul est long Ca devient une corvée d'insérer une ligne

J'ai tenté d'enregistrer une macro qui insère une ligne à mon tableau et qui rétablisse tout de suite les MFC. Mais ça n'enregistre pas les MFC...

Ce que je n'arrive pas à comprendre : j'ai d'autres MFC sur ce tableau, et elles tiennent.

capture

Cette MFC se dédouble, dès que j'insère une ligne, les autres ne font pas ça J'ai du faire le ménage et en supprimer une bonne cinquantaine.

Soit j'accepte le fait que mon tableur rame à chaque insertion de ligne , soit je renonce à cette MEC (et vraiment ça m’embête car elle est trop utile!)

D'ailleurs je ne comprend pas pourquoi l'insertion de ligne est extremement longue (au niveau du bas et du haut seulement) Une idée?

J'ai testé un peu plus en profondeur.

En fait, le dédoublement et le bug de la MEC survient lorsque par exemple j'utilise une macro type "insérer ligne tableau" ou lorsque je répète l'action d'insérer ligne de tableau (avec F4) !

Par contre, si je fais clique droit, insérer ligne de tableau au dessus... manuellement, 1 par 1... et bien là fonctionne

Mais quelle est la logique ?

Edit : Comme le problème n'a probablement plus rien à voir avec le sujet, je renvoi vers la suite :

https://forum.excel-pratique.com/excel/macro-insertion-ligne-dans-tableau-ne-bouge-pas-une-mfc-16101...

Encore merci.

Rechercher des sujets similaires à "mise forme conditionnelle plage horaire"