Emploi du temps dynamique sous Sheets

Bon, plusieurs erreurs.

Tu t'es trompé dans l'écriture d'une plage nommée "Emploi_du temps" dans la déclaration et "emploi_du_temps" dans la formule !

Et, il faut que le format des dates dans l'onglet "Emploi du temps" (C1:BJ1) soit le même que dans l'onglet "À masquer" (Colonne A), car on compare des formats TEXTE.

rahhhh saleté de majuscule, comment j'ai pu passer à côté. Pour les dates, wow, j'aurais pu chercher longtemps. Je pensais qu'en fait la formule comparait la donnée brute, c'est à dire la date en donnée brute avant qu'elle soit convertie en string à l'affichage, mais en réalité ça compare vraiment la chaine de caractère affichée c'est ça ?

En tout cas merci infiniment, s'il y avait un bouton "pourboire" ...

Ok bon j'ai remarqué un dernier truc, quand une de mes matières a un apostrophe ou un slash, les données associées à cette matière sont fausses (le cumul d'heure n'apparait pas dans la liste des cours et l'intervenant n'est pas associé). C'est très problématique car ça va me faire faire des erreurs assez énormes, sauf que je ne pourrais pas éviter d'écrire à minima des apostrophes. Il n'y a pas moyen de sécuriser ça dans la formule ?

On peut contourner en utilisant SUBSTITUTE ou en doublant les guillemets dans QUERY.

Si tu peux colorer les cellules qui posent problème sur ta feuille, je regarderai pour adapter une solution...

Modifications onglet "À masquer" :

Colonne E :

=IFERROR(byrow(query($D$2:$D;"select * where D is not null");lambda(n;query('Matières et intervenants'!$A$4:$O;"select Col12, Col14 where Col1 = """&n&""" and Col1 is not null "))))

Colonne D :

=flatten(split(rept(textJOIN("|";FALSE;query('Matières et intervenants'!$A$4:$A;"select * where A is not null"))&"|";COUNTA(Dates_cours));"|"))

Colonne C :

=iferror(MAP($A$2:$A;$D$2:$D;lambda(m;n;query(tocol(query(transpose(arrayformula(TO_TEXT(Emploi_du_temps)));"select * where Col1 =  '"&TO_TEXT(m)&"' ";0);3);"select count(Col1) where Col1 = """&n&""" label count(Col1)'' "))))

Colonne B :

=IFERROR(map('À masquer'!$A$2:$A;'À masquer'!$D$2:$D;lambda(m;n;join(" ";(query({{" ";Horaires}\transpose(query(transpose(query(arrayformula(TO_TEXT(Emploi_du_temps))));"select * where Col1 = '"&TO_TEXT(m)&"' "))};"select Col1 where Col2 = """&n&""" "))))))

Hmm, j'ai pas l'impression que quelque chose à changé dans les formules que tu m'as donné, si ?

En tout cas ça n'a pas d'impact, j'ai testé sur mon fichier (https://docs.google.com/spreadsheets/d/16hxOXC2T0HfUvDM4fAdsjeYxJRynu1fxN9Cb9rB1p34/edit?gid=8623244...) et j'ai une matière qui s'appelle "Design d'intérieur", ça ne me ressort pas les dates (pourtant je l'ai placé dans l'onglet Emploi du temps).

Je suis passé à côté de quelque chose ?

Si tu mets le bon professeur, soit Camille Bernard, ça fonctionne... 🤔

Sinon partage une feuille où tu as un dysfonctionnement et je regarde ça... 😉

Pour les changements, principalement des " en plus...

Col1 = """ &n&"""

Ok alors je pense que j'ai réussi à résoudre le problème, et ça semble marcher sur mes 10 emplois du temps nickel.
Dernière chose, j'ai tenté d'ajouter un champ de sélection de la matière au dessus de la colonne de la matière dans l'onglet final (pour faire un choix de matière comme le choix du professeur). Comment ça se passe ? Promis après je t'embête plus.

Encore un million de mercis

https://docs.google.com/spreadsheets/d/1B5kKoIvAkRTQKdrdJQpjO_wE9iJUFyWWRZm9mZ60it0/edit?usp=sharing

Au choix :

Un onglet par prof avec possibilité de sélections multiples des matières et menu déroulant dépendant.

Remettre le champ "Matière" sans sélection à chaque changement de prof en se positionnant sur la cellule E1 et en appuyant sur la touche Suppr.

Un onglet sélection par prof ou par matière.

Toujours laisser un champ de sélection sur les deux vide...

Rechercher des sujets similaires à "emploi temps dynamique sheets"