Décompter les cellules couleur

bonjour au forum

j'ai besoin d'aide; voici mon problème

je joins un fichier qui est en réalité un planning; je dois comptabiliser les personnes qui commencent à 7h ainsi que ceux qui finissent à 22h. Mais quand une personne est en congé (CP) je les mets en couleur et je ne sais pas comptabiliser uniquement ceux qui ne sont pas en congés.

cela revient à ne compter que ceux qui ne sont pas en couleur .... j'espère avoir été clair...

à votre avis est ce possible ?

merci pour votre aide

jmd6

14essai-1.xlsx (13.71 Ko)

Bonjour,

C'est possible ... mais avec du VBA (macro). Il vaut mieux toujours utiliser une valeur dans une case que tester la couleur. C'est du reste ce que tu as dans la ligne du dessus.

Au passage, tu peux utiliser la formule =mod(fin-debut;1) qui te donner le temps même si l'heure de fin est plus petite que l'heure de début.

Le problème de ton fichier ... ce sont les cellules fusionnées, enfin je comprends ici car tu as des heures le matin et l'apm.

Pas très élégant, mais voici une correction :

=SI(N5="CP";0;(O7-O6+SI(O6>O7;1))+(N7-N6+SI(N6>N7;1)))
+SI(L5="CP";0;(M7-M6+SI(M6>M7;1))+(L7-L6+SI(L6>L7;1)))
+SI(J5="CP";0;(K7-K6+SI(K6>K7;1))+(J7-J6+SI(J6>J7;1)))
+SI(H5="CP";0;(I7-I6+SI(I6>I7;1))+(H7-H6+SI(H6>H7;1)))
+SI(F5="CP";0;(G7-G6+SI(G6>G7;1))+(F7-F6+SI(F6>F7;1)))
+SI(D5="CP";0;(E7-E6+SI(E6>E7;1))+(D7-D6+SI(D6>D7;1)))
+SI(B5="CP";0;(C7-C6+SI(C6>C7;1))+(B7-B6+SI(B6>B7;1)))

et pour le décompte ...

=SOMMEPROD((B5:B17<>"CP")*(B6:B18=7/24))

idem pour le soir

10essai-1.xlsx (13.61 Ko)

BJR Steelson

je te remercie (avec 1 peu de retard car j'étais partis un long we) de ton mail de retour qui fonctionne très bien

c'est super et vraiment merci

par contre j'ai 2 petites questions :

1. le fichier que j'ai mis en ligne est un "essai" et j'ai évidemment d'autres "codes absences" mais je n'ai pas trouver ta macro (c'est vrai que j'y connais pas grand chose) mais pourrais tu m'indiquer le chemin pour aller copier ta routine et la mettre dans mon fichier original ?

2. comme je viens de dire j'ai d'autres codes absences, est ce que je peux copier ta routine et remplacer CP par AM pour (arrêt maladie); For (pour formation) ect...

merci de ta réponse et encore merci pour ton aide c'est vraiment super

ah j'ai rien compris pour la formule =mod... mais c'est pas grave j'essayerai de comprendre plus tard

cordialement

jmd6

Je l'ai fait sans macro, il s'agit juste d'une formule. Je suis in fine resté dans ta logique en corrigeant/amendant ta formule.

Oui bien sûr, tu peux remplacer CP par un autre code dans la formule, voire mettre une condition plus large OU(N5="CP";N5="AM")

bonjour Steelson

et encore dsl de ne pas avoir répondu aussitot mais je suis sur plusieurs travail en meme temps...

ok je viens de comprendre où tu avais mis les formules et j'ai essayé ça fonctionne

merci bcp ça va me simplifier la vie...vraiment merci; je reviendrais si j'ai besoin

merci encore

bonne soirée

jmd6

ah oui dsl mais je comprends pas à quoi correspond 7/24

si j'ai 1 personne qui commence à 7h30 ou à 8h ....je mets quoi à la place de 7/24 ??

merci

AH oui dsl je suis embêtant mais je n'arrive pas à mettre plusieurs codes absences dans ta formule; je voudrais que l'on ne compte pas les CP (congés payés), les AM (arrêts maladie), les CM (congés maternité) et peut être 2 ou 3 autres codes abs...comment on les mets dans la même formule ??

merci bcp de ton aide

jmd6

ah oui dsl mais je comprends pas à quoi correspond 7/24

si j'ai 1 personne qui commence à 7h30 ou à 8h ....je mets quoi à la place de 7/24 ??

merci

Pour 7h30, tu peux mettre 7,5/24

Les heures sont enregistrées sous forme de jours dans excel, c'est ensuite le format qui permet d'afficher en heures:minutes. Et comme il y 24h/jour ...

Le problème est : comment faisais-tu dans ton fichier posté initialement ? car il n'y avait que la valeur 7:00.

Voici une modification à répercuter sur les autres cellules :

=SOMMEPROD((B5:B17<>"CP")*((B6:B18=7/24)+(B6:B18=7,5/24)+(B6:B18=8/24)))

AH oui dsl je suis embêtant mais je n'arrive pas à mettre plusieurs codes absences dans ta formule; je voudrais que l'on ne compte pas les CP (congés payés), les AM (arrêts maladie), les CM (congés maternité) et peut être 2 ou 3 autres codes abs...comment on les mets dans la même formule ??

merci bcp de ton aide

jmd6

En mettant OU( condition1 ; condition2 ; condition3 ; etc. )

https://forum.excel-pratique.com/viewtopic.php?p=784797#p784797

=SI(OU(N5="CP";N5="AM";N5="CM");0;(O7-O6+SI(OU(O6>O7;1))+(N7-N6+SI(OU(N6>N7;1)))
+SI(OU(L5="CP";L5="AM";L5="CM");0;(M7-M6+SI(OU(M6>M7;1))+(L7-L6+SI(OU(L6>L7;1)))
+SI(OU(J5="CP";J5="AM";J5="CM");0;(K7-K6+SI(OU(K6>K7;1))+(J7-J6+SI(OU(J6>J7;1)))
+SI(OU(H5="CP";H5="AM";H5="CM");0;(I7-I6+SI(OU(I6>I7;1))+(H7-H6+SI(OU(H6>H7;1)))
+SI(OU(F5="CP";F5="AM";F5="CM");0;(G7-G6+SI(OU(G6>G7;1))+(F7-F6+SI(OU(F6>F7;1)))
+SI(OU(D5="CP";D5="AM";D5="CM");0;(E7-E6+SI(OU(E6>E7;1))+(D7-D6+SI(OU(D6>D7;1)))
+SI(OU(B5="CP";B5="AM";B5="CM");0;(C7-C6+SI(OU(C6>C7;1))+(B7-B6+SI(OU(B6>B7;1)))

Bonjour Steelson

je n'ai pas du me faire comprendre; excuse moi mais c'est pas facile pour un non initié qui veut utiliser toutes les facilités d Excel

ci joint mon fichier d'origine

ce que je veux c'est compter le nombre de personnes présentes (donc qui n'ont pas de code absence comme les CP les RCR, AM ou CM)

par exemple en Cellule B63 cela devrait donné = 2 car il n'y a que 2 personnes présentes les autres qui travaillent à 7h son absentes pour différentes raison

en C66 il devrait y avoir =2 car il y a 2 personne à 22h

ect

en plus il arrive que certaines personnes arrivent à 7h30 ou à 8h ou bien finissent à 21h ; elles doivent être compatabilisées car c'est suffisant pour le service.

encore dsl de te demander de travailler mais c'est moi qui me suis pas bien expliqué

merci encore

jmd6

6essai-2.xlsx (58.99 Ko)

c'est en C65 qu'il devait s'afficher 2 et non en C63

merci

En colonne P ... aucune formule n'a été changée !! voir ma proposition ci-dessus.

J'avais bien compris, je me charge d'adapter la formule de décompte en lignes 65 et 66. Dès que j'ai un moment.

Ton problème reste la structure des données et les cellules fusionnées ! Je vais m'y adapter mais à terme tu aurais gagné à structurer plus simplement.

Regarde si cela te convient.

8essai-2.xlsx (55.96 Ko)

bonsoir Steelson

et merci de ta patience je ne suis pas très constant mais je suis cadre dans Etablissement et je suis seul en ce moment mes collègues tous partis en vacances ...les veinards; cela me fait un peu courir partout

bon en ce qui concerne le fichier que tu m'as envoyé il est très bien et on est pas loin de trouver la solution...

il faut peut être que tu saches que mon objectif est de savoir combien de personnes travaillent à 7h, 7h30 et 8h le matin et 21h et 22h le soir

donc je voudrais que s'affiche

  • 3 en cellule B 65 . il y a bien 7 personnes qui travaillent à 7h mais 3 en CP et 1 en AM,
  • 2 en C 66 . Il y a bien 3 personnes qui travaillent à 22h mais 1 est en RCR
  • 4 en D 65 . Il y a bien 7 personnes qui travaillent à 7h mais 2 sont en CP, 1 en CM,
  • 2 en E 66 ...il y a bien 4 personnes à 22h et 2 personnes à 21h (= 6 personnes) mais 2 est en RCR, 1 en AM, 1 en CP

merci bcp, je ne suis pas un candidat facile mais j'apprécie vraiment ton travail et ta patience

bien cordialement

jmd6

ok mais je pensais qu'il fallait aussi compter les autres :

ah oui dsl mais je comprends pas à quoi correspond 7/24

si j'ai 1 personne qui commence à 7h30 ou à 8h ....je mets quoi à la place de 7/24 ??

Je pense qu'il faudrait construire une base de données à partir de cet onglet un peu difficile à "travailler" et ensuite faire une synthèse sans calcul et plus flexible via un TCD

6essai-2.xlsx (56.70 Ko)

Pour la suite ... je préfère travailler comme ici :

8essai-2.xlsm (77.95 Ko)

Bonjour Steelson

j'espère que tu vas bien

je n'ai peut être pas bien compris ce qu'il fallait faire; la proposition que tu m'as envoyé (Essai 2) n'est pas ce que je souhaite voir

mais peut être souhaites tu stopper notre échange...je sais que je suis exigent.

s'il faut enlevé les cellules fusionnées, je veux bien te renvoyer un fichier simplifié "Essai 3" avec mes demandes.

merci d'avance pour tout; j'attends ta réponse si tu n'es pas en congés..

jmd6

Bonjour,

la proposition que tu m'as envoyé (Essai 2) n'est pas ce que je souhaite voir

mais peut être souhaites tu stopper notre échange...

pas du tout, j'y ai répondu mais je vois que les fichiers-réponses n'ont pas été lus

Regarde la correction apportée ici (en respectant les cellules fusionnées) ?

https://forum.excel-pratique.com/viewtopic.php?p=788618#p788618

et une variante dans le post suivant ?

https://forum.excel-pratique.com/viewtopic.php?p=788702#p788702

bonsoir Steelson

et merci pour ton super boulot... je sais pas comment tu fais fais c'est d'enfer...bon pas sur que je sache l'utiliser mais c'est vraiment super...je te remercie

bon moi je me concentre sur le premier fichier avec formule toute simple mais quand je fais 1 copier coller de ta formule ça fonctionne pas...je te transmets ci joint mon fichier avec tes formules si tu pouvais me dire ce qui ne fonctionne pas ça m'arrangerais.

ensuite j'aurai encore 2 questions ...mais tu n'hésites pas à me dire que t'en à marre..je comprendrais je suis pas un client facile.

merci encore du boulot que tu fais

cordialement

jmd6

3essai-3.xlsx (55.69 Ko)

Bonjour,

dans un SOMMEPROD, les matrices doivent être de même taille ...

=SOMMEPROD((MOD(LIGNE(B4:B57);3)=1)*(B4:B57<>"CP")*(B4:B57<>"RCR")*(B4:B57<>"AM")*(B4:B57<>"CM")*(C5:C58=22/24))

au lieu de B4:B58 et C6:C58

pourquoi ? ... excel va en fait créer des matrices virtuelles correspondant aux conditions (0 ou 1) ou aux valeurs et les multiplier ensuite entre elles, à conditions qu'elles ient le même nombre d'éléments

Rechercher des sujets similaires à "decompter couleur"