XL 2010 Colorer automatiquement des cellules / plage horaire

  • Initiateur de la discussion Initiateur de la discussion Wayat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Wayat

XLDnaute Junior
Bonjour à tous,
J'ai créé un tableau avec une liste de salariés et leurs plages horaire de travail du lundi au vendredi.
Dans le tableau que j'ai mis en pièce jointe (onglet planning salariés), j'ai coloré manuellement les cellules des plages horaires de présence.
Je voulais savoir si en complétant l'onglet "salariés", en notant la plage horaire de travail, il était possible avec excel de colorer automatiquement la plage horaire du planning général.
Je vous remercie pour votre aide et vos conseils.
Thierry
 

Pièces jointes

Bonjour Taafs,
Un essai en PJ que par formules, avec en B2 :
VB:
=SI(ET(B$1>=INDEX(SALARIES!$B$2:$K$1000;EQUIV($A2;SALARIES!$A$2:$A$1000;0);EQUIV($A$1;SALARIES!$B$1:$K$1));C$1<INDEX(SALARIES!$B$2:$K$1000;EQUIV($A2;SALARIES!$A$2:$A$1000;0);1+EQUIV($A$1;SALARIES!$B$1:$K$1)));1;"")
et deux MFC basées sur :
Code:
=ET(B2=1;EST.IMPAIR(LIGNE()))
et
=ET(B2=1;EST.PAIR(LIGNE()))
Pour traiter différemment les lignes paires et impaires.
Les formules en B10 se simplifient puisqu'il suffit de faire la somme du tableau.
 

Pièces jointes

Bonjour,

Voyez les Mise En Forme Conditionnelles dans le fichier joint, j'ai rajouté 2 colonnes (qui pourraient être masquées) qui rapatrie les horaires de la feuille 'Salariés'. Les fonctions qu'elles contiennent pourraient servir de fonction pour les mises en formes conditionnelles, mais cela alourdirait considérablement les temps de calculs avec le temps.

D'ailleurs et ce n'est que mon avis personnel, c'est dans ces 2 colonnes rajoutées que je saisirais les horaires, ou dans un tableau structuré avec en colonnes "Dates Salarié Heure_Début Heure_Fin." Ce qui allègerait votre future gestion et vos statistiques des horaires (voir l'exemple dans la feuille Salariés un tableau structuré nommé T_Horaires)

Cordialement
 

Pièces jointes

Merci pour vos réponses, vous avez été rapide !
J'ai juste 2 petits problèmes :
- la réponse de @MP59 est top, le seul souci c'est que je ne peux pas compter le nombre de cellule de couleur, toutes cellules sont à 0,
- J'aime bien également la solution de @sylvanu, le petit problème est que dans mon tableau d'horaire, si j'ai une fin à 16h00 pour le salarié 1, il faut qu'Excel colore jusqu'a la cellule 15h45, et là, c'est coloré que jusqu'à 15h30,
J'ai encore besoin de votre aide pour me débloquer 😕
Merci à tous, vous êtes au top ! 😀
 
Un autre essai en PJ .
J'ai crié victoire trop vite 🙁 j'ai un problème avec la journée de jeudi qui m'affiche la valeur #N/A sur toutes mes cellules.
J'ai vérifier mes formules... j'ai supprimé, coller, recoller, recopier... je ne vois pas où est l'erreur 😭
Pourquoi uniquement sur la journée de Jeudi... mystère et boules de gomme...
Je vous mets mon fichier de travail PJ. Help !
 

Pièces jointes

Bonjour Taafs,
Le mieux pour trouver est de décomposer chaque partie de formules. Ce qui coince c'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7)
La syntaxe est EQUIV(Valeur;Plage;Type) et là le type n'est pas mis. C'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)

Donc pour le Jeudi, cellule C74 :
Code:
=SI(ET(C$73>=INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0));C$73<INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);1+EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)));1;"")

Ce qui m'étonnes c'est que les autres formules marchent. 🙂
Une fois rectifié ça marche.
Voir PJ, j'ai rectifié tous les jours mais uniquement sur MAM CAMIETA.
 

Pièces jointes

Bonjour Taafs,
Le mieux pour trouver est de décomposer chaque partie de formules. Ce qui coince c'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7)
La syntaxe est EQUIV(Valeur;Plage;Type) et là le type n'est pas mis. C'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)

Donc pour le Jeudi, cellule C74 :
Code:
=SI(ET(C$73>=INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0));C$73<INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);1+EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)));1;"")

Ce qui m'étonnes c'est que les autres formules marchent. 🙂
Une fois rectifié ça marche.
Voir PJ, j'ai rectifié tous les jours mais uniquement sur MAM CAMIETA.
Merci pour votre réponse rapide. Je vérifie ça lundi pour les autres onglets. Super ! Je vous envoie un message lundi si j'ai eu le temps de tout rectifier. Merci encore. Bon week-end 😀
 
Bonjour Taafs,
Le mieux pour trouver est de décomposer chaque partie de formules. Ce qui coince c'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7)
La syntaxe est EQUIV(Valeur;Plage;Type) et là le type n'est pas mis. C'est :
VB:
EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)

Donc pour le Jeudi, cellule C74 :
Code:
=SI(ET(C$73>=INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0));C$73<INDEX('AMPLITUDE ENFANTS'!$C$8:$L$27;EQUIV($A74;'AMPLITUDE ENFANTS'!$B$8:$B$27;0);1+EQUIV($A$73;'AMPLITUDE ENFANTS'!$C$7:$L$7;0)));1;"")

Ce qui m'étonnes c'est que les autres formules marchent. 🙂
Une fois rectifié ça marche.
Voir PJ, j'ai rectifié tous les jours mais uniquement sur MAM CAMIETA.
Re bonjour,
Je viens de reprendre mon classeur excel et j'ai mis les formules à jour... et ça marche 😀
Merci beaucoup pour votre aide, j'ai un super planning !
A bientôt.
 
@sylvanu, j'ai encore besoin de vous 😁
Dans le super planning que j'ai, j'ai voulu l'adapter pour d'autres membres du personnel.
Seulement, ces salariés ont des coupures dans leur journée... et je ne sais pas comment adapter ma formule de calcul.
Je mets le planning en pièce jointe pour que cela soit plus clair.
Merci pour votre aide.
 

Pièces jointes

Bonjour Taafs,
Ce fut laborieux. 🙂
Le plus simple a été d'ajouter les deux slots time avec les bons décalages, et de modifier les MFC.
En formule c'est :
VB:
=SIERREUR(SI(ET(B$1>=INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0));B$1<INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);1+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0)));1;0);0)+
SIERREUR(SI(ET(B$1>=INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);2+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0));B$1<INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);3+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0)));1;0);0)
A tester. 😉
 

Pièces jointes

Bonjour Taafs,
Ce fut laborieux. 🙂
Le plus simple a été d'ajouter les deux slots time avec les bons décalages, et de modifier les MFC.
En formule c'est :
VB:
=SIERREUR(SI(ET(B$1>=INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0));B$1<INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);1+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0)));1;0);0)+
SIERREUR(SI(ET(B$1>=INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);2+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0));B$1<INDEX('PRESENCE DU PERSONNEL'!$C$7:$V$11;EQUIV($A2;'PRESENCE DU PERSONNEL'!$B$7:$B$11;0);3+EQUIV($A$1;'PRESENCE DU PERSONNEL'!$C$6:$V$6;0)));1;0);0)
A tester. 😉
Bonjour Sylvanu,

Désolé pour le retard de réponse.
J'ai testé ce matin ton tableau, c'est top !
Merci beaucoup.
J'ai pu ajouter le roulement du personnel pour le planning hebdomadaire.
Encore merci ! c'est génial ça fonctionne parfaitement.
Belle journée. A bientôt.
 
Re-bonjour,

Je reviens avec mon tableau pour lequel j'ai encore besoin d'aide 😁
Sur une feuille de calcul j'ai le planning avec les plages de présence.
Sur 12 feuilles j'ai chaque mois de l'année et dans chaque feuille le planning de chaque semaine.
Est-il possible, sur le planning des plages de présence de rentrer en haut le numéro de la semaine et de ce fait le planning horaire du mois correspondant viendrait automatiquement générer les plages de présence ?
ça serait super top ! Peut-être que @sylvanu aura la solution miracle 🤩
Merci pour votre aide.
Bon week-end à tous.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour