Remplissage automatique du tableau

HamoudaBA

XLDnaute Occasionnel
Bonjour,

Je cherche la possibilité de remplir le calendrier selon les dates écrites à droite (De ... A ....) à savoir que le calendrier contient des cellules en MFC que je veux exécuter.
J'ai une vingtaine d'onglets à faire de la mm façon, chaque onglet doit contenir un calendrier de 3 ans 2012, 2013, 2014.
Merci
 

Pièces jointes

  • GESTION DES CONGES.xlsx
    28.2 KB · Affichages: 71

CISCO

XLDnaute Barbatruc
Re : Remplissage automatique du tableau

Bonjour

Mieux vaut tard que jamais. Cf. une possibilité en pièce jointe. Je n'ai fait les MFC que pour maladie, repos et naissance. j'espère que tu comprendras la méthode. Pour que cela fonctionne, j'ai changé l'écriture des mois, et leur format, pour obtenir avec 01/01/2014 le mois janv, avec 01/02/2014 le mois fév...

Exemple pour maladie :
=SOMMEPROD(($AR$3:$AR$11<=A$7+A8-1)*(A$7+A8-1<=$AS$3:$AS$11))

@ plus

P.S : J'ai supprimé les MFC que tu avais faites... Trop nombreuses...
 

Pièces jointes

  • GESTION DES CONGESbis.xlsx
    21.4 KB · Affichages: 54
Dernière édition:

HamoudaBA

XLDnaute Occasionnel
Re : Remplissage automatique du tableau

Bonsoir CISCO,
Je vous remercie pour l'effort et pour l’intérêt que vous avez porté à ma requête, je trouve super ce que vous avez faite, c'est exactement ce que je cherchais mais j'ai un peu de mal à suivre les formules dans les MFC.
pouvez vous m'expliquez un peu.
 

CISCO

XLDnaute Barbatruc
Re : Remplissage automatique du tableau

Bonsoir

La plage d'action des MFC est
=$C$8:$C$38;$F$8:$F$35;...37;$AJ$8:$AJ$38

donc la formule définissant la MFC doit être rédigée comme si elle était en C8.

Pour ce qui est de maladie, on pourrait utiliser :
ET($AR$3<=A$7+A8-1;A$7+A8-1<=$AS$3:$AS$11)
En A7, il y a 01/01/2014. A$7 renvoie donc le nombre correspondant au 1er janvier 2014, donc 40178. A8 est égal à 1. Donc A$7+A8-1 donne 40178.
$AR$3 vaut 40199 et $AS$3 40203. Les $ font que la MFC ira toujours rechercher ces deux valeurs, et pas d'autres, quelle que soit la cellule où s'applique cette MFC.
La formule ci-dessus vérifie donc si 40199 <=40178 <= 40203, ce qui renvoie FAUX, donc la MFC ne colorie pas en noir la cellule C8.
En C9, la formule ci-dessus vérifie si 40199 <=40179 <= 40203, ce qui renvoie FAUX... (A9 vaut 2, donc A$7+A9-1 donne 40178+2-1=40179).
Et ainsi de suite en dessous.

Pour février, en F8, la formule vérifie si 40199 <=40209 <= 40203, ce qui renvoie FAUX (A$7+A8-1 a été remplacé automatiquement par D$7+D8-1 , et D$7 vaut 40209. $AR$3 et $AS$3 n'ont pas été changées à cause des $).

Et ainsi de suite pour les autres lignes et pour les autres colonnes.

La formule ci-dessus ne permettrait de faire des tests que par rapport à $AR$3 et $AS$3 dans le cas maladie. Il faudrait aussi faire un test par rapport à $AR$4 et $AS$4, un autre par rapport à $AR$5 et $AS$5 et ainsi de suite jusqu'à $AR$11 et $AS$11. Cela peut être fait avec une formule du style
OU(ET($AR$3<=A$7+A8-1;A$7+A8-1<=$AS$3);ET($AR$4<=A$7+A8-1;A$7+A8-1<=$AS$4);...;ET($AR$11<=A$7+A8-1;A$7+A8-1<=$AS$11))
, ce qui est un peu long. On peut faire plus court avec
SOMMEPROD(($AR$3:$AR$11<=A$7+A8-1)*(A$7+A8-1<=$AS$3:$AS$11))
(le multiplié * remplaçant le ET, SOMMEPROD permettant de prendre en compte toute la plage $AR$3:$AR$11 et pas uniquement $AR$3, et la plage $AS$3:$AS$11 et pas uniquement $AS$3) qui renvoie 1 ou plus si au moins un des tests est positif, donc VRAI, donc une couleur.

Si tu as encore des difficultés pour comprendre cette dernière formule, il faut l'écrire directement dans une cellule, puis cliquer sur "Formules", puis "Evaluation de formule". Puis remplacer dans cette formule A8 par A9, observer ce que cela donne, puis par A10... puis par A22, A23... en vérifiant à chaque fois ce que cela donne.

@ plus
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz