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 !
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)
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
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.
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 🙄...
- 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