Re : Formule pour MFC
Bonsoir
Une possibilité en pièce jointe.
J'ai modifié les dates de naissance en ligne 24 pour contourner le premier problème signalé dans le post précédent.
J'ai défini le nom plageannée qui va chercher la première plage à droite de la position en cours ayant pour entête "Date de Naissance", composée uniquement de dates réelles et pas de "", avec la formule
=DECALER(!A$7;;EQUIV("Date de naissance";DECALER(!A$6;;;;5);0)-1;EQUIV(9^9;DECALER(!A$7;;EQUIV("Date de naissance";DECALER(!A$6;;;;5);0)-1;1000);1))
si on est en colonne A, ce qui donne par exemple
=DECALER(!I$7;;EQUIV("Date de naissance";DECALER(!I$6;;;;5);0)-1;EQUIV(9^9;DECALER(!I$7;;EQUIV("Date de naissance";DECALER(!I$6;;;;5);0)-1;1000);1))
, si on est en colonne I (puisqu'il ni a pas de $ devant les A), formule valable pour tout le classeur.
La MFC est définie par la formule
=LIGNE()=MIN(SI((CATE!$C$14<=ANNEE(Plageannée))*(ANNEE(Plageannée)<=CATE!$B$14);LIGNE(Plageannée)))
Quelques remarques :
*Tu avais mis un terme devant la formule de la MFC, ce qui te donnait quelque chose du genre =....=LIGNE()=MIN(......). cela ne pouvait pas fonctionner ainsi.
* La formule définissant plageannée recherche automatiquement la 1ère colonne sur sa droite contenant "Date de naissance". J'ai modifié le contenu de E6, N6 et X6 car tu y avais mis un retour à la ligne, et comme je ne me souviens plus du code à écrire pour prendre en compte ce retour à la ligne dans "Date de Naissance".... En cherchant un peu, je peux modifier cela.
*Comme cette formule recherche la
1ère colonne
à sa droite contenant "Date de naissance", cela fonctionne bien pour les colonnes A, B, C, D et E, mais pas pour F, G, et H (qui irait rechercher les dates de naissance dans le tableau à leur droite, ce qui ne nous intéresse pas), puis cela fonctionne de nouveau pour J, K, L, M et N (2ème tableau) et pour T, U, V, W et X (3ème tableau). Résultat : les colonnes F, G, H, O, P, Q, R, Y, Z et AB, AD et AF ne sont pas coloriées par la MFC (Pourquoi as tu masqué AA, AC et AE ?)
* La formule permettant de définir plageannée doit fonctionner sur toutes les feuilles de ton dossier (Pour que tu n'ai pas à la définir sur chacune des feuilles, soit 15 fois !). Normalement, lorsqu'on écrit une formule pour définir une MFC, Excel y met automatiquement le nom de la feuille en cours. Ainsi, si on travaille sur la feuille Toto, E1 devient Toto!E1. Cela ne nous convient pas dans le cas présent car alors, le nom défini ainsi utilisera toujours le contenu de Toto!E1, même quand on travaille sur une autre feuille. J'ai contourné le problème après quelques essais en écrivant le point d'exclamation, en écrivant !I$6 et pas seulement I$6. Et cela semble fonctionner, excel ne remet pas automatiquement le nom de la feuille en cours. Attention : Je n'ai jamais utilisé cette méthode, ni vu dans de la doc ou sur le forum que c'était la bonne, la syntaxe officielle adaptée.
A toi de tester davantage.
A mon avis, il y a peut être une ou deux simplifications possibles. A voir donc.
@ plus