MFC impossible

ksandraa

XLDnaute Nouveau
Bonjour à tous :D;

je viens demander de l'aide, je n'ai jamais vu ce que je recherche et ne sais donc pas si c'est faisable ... en tout cas j n'y suis pas arrivé avec mon statut de novice.

J'explique:
J'ai un fichier qui recense mensuellement les heures supplémentaires effectuées par des salariés.

j'aimerais pouvoir mettre des alertes avec une MFC:

- Si un salarié effectue des HS sur 3 mois consécutifs il sera identifié par exemple en orange
- Si un salarié ou ce même salarié effectue des HS sur 4 mois consécutifs il sera identifié en orange plus foncé
- et sur 5 mois en rouge par exemple

il me faut pour résumer identifier les personnes qui ont une recurrence d'heures supp (sur plusieurs mois consécutifs)

j'insiste sur le consécutif ;)

Je suis open au VBA surtout

Merci pour votre aide:rolleyes:
Ksandraa
 

Pièces jointes

  • Ksandraa alerte MFC.xlsx
    9.5 KB · Affichages: 37
  • Ksandraa alerte MFC.xlsx
    9.5 KB · Affichages: 37
  • Ksandraa alerte MFC.xlsx
    9.5 KB · Affichages: 40

CISCO

XLDnaute Barbatruc
Re : MFC impossible

Bonsoir

Merci Chris

Bonjour

Cisco : sur la colonne N, il faut la couleur représentant la synthèse de janvier à décembre:

  • rouge si on a du rouge entre D et M
  • orange si pas de rouge mais du orange
etc

Je n'avais pas fait attention au fait qu'il y avait une colonne après le mois de décembre... J'essaye de corriger ma proposition en conséquence.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : MFC impossible

Rebonsoir

Cf. le fichier modifié en pièce jointe.

@ plus
 

Pièces jointes

  • mfc-impossible-ksandraa-alerte-mfc.xlsx
    11.1 KB · Affichages: 26
  • mfc-impossible-ksandraa-alerte-mfc.xlsx
    11.1 KB · Affichages: 33
  • mfc-impossible-ksandraa-alerte-mfc.xlsx
    11.1 KB · Affichages: 33

CISCO

XLDnaute Barbatruc
Re : MFC impossible

Bonsoir

Les MFC travaillent en matriciel même sans être validées avec Ctrl+maj tempo+entrer
Pour ce qui est de la plage $B$3:$M$7

Code:
=SOMME(ESTNUM(DECALER(B3;;-2;;3))*1)=3
qui donne le fond orange
DECALER(B3;;-2;;3)) renvoie une plage horizontale de "3" cellules, en B3, A3:B3, en C3, A3:C3, en D3, B3: D3 et ainsi de suite vers la droite et sur les lignes 3 à 7.
ESTNUM(DECALER(B3;;-2;;3))*1 renvoie une série de VRAI*1 et de FAUX*1, donc de 1 et de 0 en fonction du contenu de ces 3 cellules.
SOMME(ESTNUM(DECALER(B3;;-2;;3))*1)=3 renvoie VRAI lorsque ces 3 cellules contiennent un nombre, FAUX dans le cas contraire.

Même principe avec
Code:
=SOMME(ESTNUM(DECALER(B3;;-3;;4))*1)=4
pour une plage horizontale de 4 cellules (fond rouge)
Code:
=SOMME(ESTNUM(DECALER(B3;;-4;;5))*1)=5
pour une plage horizontale de 5 cellules (fond rouge fonçé)

Pour ce qui est de la colonne cumul en N
Code:
=OU(ESTNUM(B3:K3)*ESTNUM(C3:L3)*ESTNUM(D3:M3))
devient OU(ESTNUM(B3)*ESTNUM(C3)*ESTNUM(D3);ESTNUM(C3)*ESTNUM(D3)*ESTNUM(E3);.....;ESTNUM(K3)*ESTNUM(L3)*ESTNUM(M3)).
IL suffit qu'un de ces produits donne VRAI*VRAI*VRAI, donc 1, pour que cette formule OU(....) renvoie VRAI, donc du orange.

Idem avec un produit avec 4 termes pour le rouge (4 cellules successives comportant un nombre) et un autre de 5 termes pour obtenir le rouge foncé (5 cellules successives comportant un nombre).

Pour ce qui est du tableau de droite, puisqu'il ne s'agit pas de MFC, il faut valider ces formules en matriciel, avec Ctrl + maj tempo + entrer. La formule
Code:
SOMME(ESTNUM(B3:K7)*ESTNUM(C3:L7)*ESTNUM(D3:M7))
renvoie le nombre de plages de 3 cellules successives comportant un nombre, y compris celles faisant parties d'une série de 4 ou de 5 comportant un nombre. Il faut donc faire avec
Code:
SOMME(ESTNUM(B3:K7)*ESTNUM(C3:L7)*ESTNUM(D3:M7))-S3-T3
En fait pour comprendre cette formule, autant commencer par celle écrite en T3, puis celle en S3, puis celle en R3.

@ plus
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : MFC impossible

Bonjour

J'aurais du préciser : c'est sur N que je ne pige pas.

Je vois bien que le nombre d'alternatives est lié au nombres de mois consécutifs mais c'est le pourquoi de plages de 8, 9 ou 10 mois qui m'échappe.
 

CISCO

XLDnaute Barbatruc
Re : MFC impossible

Bonjour Chris

Les plages sont effectivement de 10 (fond orange), 9 (fond rouge) ou 8 mois (fond rouge foncé), mais ce n'est pas ça qui est important.

Pour tester si au moins 3 cellules consécutives sont remplies, il faut faire un test du style
OU(
ESTNUM(B3)*ESTNUM(C3)*ESTNUM(D3);
ESTNUM(C3)*EST NUM(D3)*ESTNUM(E3);
ESTNUM(D3)*EST NUM(E3)*ESTNUM(F3);
ESTNUM(E3)*EST NUM(F3)*ESTNUM(G3);
ESTNUM(F3)*EST NUM(G3)*ESTNUM(H3);
ESTNUM(G3)*EST NUM(H3)*ESTNUM(I3);
ESTNUM(H3)*EST NUM(I3)*ESTNUM(J3);
ESTNUM(I3)*EST NUM(J3)*ESTNUM(K3);
ESTNUM(J3)*EST NUM(K3)*ESTNUM(L3);
ESTNUM(K3)*ESTNUM(L3)*EST NUM(M3)).

C'est long. En travaillant en matriciel, on peut "contourner" ce problème, et ne pas écrire chacun de ces produits, ne pas écrire en détail tous les triplets successifs possibles. Si tu regardes les premiers termes de ces produits, ils utilisent les cellules de B3 à K3, les seconds termes vont de C3 à L3 et les 3èmes de D3 à M3.

On écrit donc la formule OU(ESTNUM(B3:K3)*ESTNUM(C3:L3)*ESTNUM(D3:M3)) en matriciel, en utilisant des plages de 10 mois, et Excel fait les calculs listés ci-dessus, en utilisant tous les premières cellules de ces plages (B3,C3 et D3) (ce qui donne le premier produit ci-dessus), puis toutes les secondes (C3, D3 et E3) (ce qui donne le second produit ci-dessus), puis toutes les 3èmes (D3, E3 et F3), puis toutes les 4èmes et ainsi de suite.

Pour tester si au moins 4 cellules consécutives sont remplies, on fait de même sur des plages de 9 mois (puisque le produit comprend 4 termes), ce qui donne OU(ESTNUM(B3:J3)*ESTNUM(C3:K3)*ESTNUM(D3:L3)*ESTNUM(E3:M3)).

Même raisonnement avec 5 cellules consécutives remplies, avec un produit comportant 5 termes, donc des plages de 8 mois.

En résumé, c'est le nombre de termes du produit (3, 4 ou 5) qui fixe la taille des plages, et pas le contraire.

@ plus
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : MFC impossible

Bonjour

Merci Cisco : tes explications sont claires.
Maintenant il faut que mon neurone intègre !
Les matricielles, j'en fait un peu mais simples... Là il faut que je cogite un peu plus mais cela va le faire :rolleyes:...
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus