Calendrier en fonction d'une base de donnée

Bonjour,

Je vous met ci-joint un exemple de ce que j'ai besoin de faire. La case D11 par exemple, doit afficher F4, si et seulement si E5=0.

Ca doit être bête, mais je n'arrive pas à tester de façon logique...

Quelqu'un pour m'aider ?!

Merci infiniment !

Bonjour;

En D5 et à tirer vers le bas:

=SIERREUR(INDEX($A$4:$H$7;1;EQUIV(1;$A5:$I5;0));"")

En E5, formule matricielle à valider avec CTRL + SHIFT + ENTREE et à tirer vers le bas

=SIERREUR(INDEX($A$4:$I$7;1;EQUIV(1;($A5:$H5=1)*($B5:$I5=0);0)+1);"")

En F5 et à tirer vers le bas:

=SIERREUR(INDEX($I$4:$N$7;1;EQUIV(1;$I5:$N5;0));"")

En G5, formule matricielle à valider avec CTRL + SHIFT + ENTREE et à tirer vers le bas

=SIERREUR(INDEX($I$4:$N$7;1;EQUIV(1;($I5:$M5=1)*($J5:$N5=0);0)+1);"")

Reste à appliquer sur le tableau réel.

Cdlt

Super !! Merci, vraiment, je suis sûr de pouvoir finir mon fichier dorénavant !

Cependant, dans le fichier original, j'ai fait une petite fonction "numcouleur" sur VBA (multiples tutos sur internet) pour pouvoir avoir un calendrier non pas avec des 1 et des 0, mais directement des couleurs. J'ai remplacé les données sur le fichier, mais cela ne semble pas marcher. Une idée de pourquoi ?

La ligne 9 est juste pour info. Il suffirait évidemment d'utiliser cette ligne mais ça me demanderait de masquer énormément de lignes sur le fichier original, et je préfèrerais éviter...

Merci beaucoup !

Si vous mettez des couleurs à la place des valeurs 1 ou 0, alors il vaut mieux procéder différemment.

Je vous propose une solution en VBA.

Pour une question de présentation j'ai placé le tableau en haut à gauche de la feuille et le tableau des résultats commence à la ligne 33, ceci pour permettre d'éventuels ajouts de nouveaux noms. Les lignes 10 à 25 sont masquées.

Il ne reste plus qu'à cliquer sur le bouton.

Cdlt

Punaise, qu'est ce que c'est propre !

C'est un peu trop complexe pour que j'y comprenne quelque chose cependant, et ça ne s'adapte pas tout à fait à mon fichier original. Un peu peur aussi de ne pas être capable de "bidouiller" si y'a quoique ce soit, ce qui fait que je ne pourrais pas être garant de l'utilisation et du "dépannage" de ce fichier en cas de problème (utilisation professionnelle).

Je garde donc la solution avec SIERREUR et formule matricielle. Je vais créer un "faux" planning caché avec les nombres correspondants aux couleurs.

Si je peux abuser encore un peu :

L'exemple de base que j'avais donné ne correspond pas exactement à la réalité de mon vrai planning (je n'avais pas bien anticipé un problème). Les plages de pause ne sont pas toutes les mêmes pour tout le monde, ce qui fait qu'une personne pourra avoir comme horaire du matin : 10h-14h et une autre personne comme horaire de l'après midi : 13h-17h.

Je remet un fichier pour être plus clair.

Comment pourrait-on faire ?

Vraiment merci, cet échange est passionnant et me donne vraiment envie de me plonger plus précisément dans excel !

Vouloir s'obstiner à conserver des formules qui vont s'alourdir de par le fait que les plages horaires pourront être uniques ou multiples, n'est pas une bonne idée à mon sens. Le VBA simplifie les calculs avec une grande vitesse d'exécution.

Vous n'avez rien à craindre des améliorations, faites plusieurs essais, testez-le, torturez-le pour faire ressortir des anomalies. S'il y a des erreurs ou des résultats qui ne vous conviennent pas, dites-le moi et je modifierai jusqu'à ce que vous ayez une application qui marche comme vous le souhaitez. Peux pas mieux dire.

Votre fichier avec les nouvelles contraintes. J'ai masqué les lignes 15 à 25, pensez à les démasquées si vous devez ajouter des noms au-delà de la ligne 15.

Cdlt

Rechercher des sujets similaires à "calendrier fonction base donnee"