Bonsoir,
L'avantage de cette méthode est qu'elle évite toute gestion d'erreur et de chevauchement de plage :
Ou les cellules sont libres et déprotégées donc sélectionnables ; ou elles sont occupées et dans ce cas, pas moyen de double affectation.
Sinon tu serais obligé de gérer la pertinence de la plage horaire choisie et là... tu n'aurais pas rigolé !
La feuille est protégé sans mot de passe. Les cellules réservées sont verrouillées, ce qui empêche toute nouvelle sélection ultérieure.
C'est la sélection d'une cellule libre qui provoque l'affichage du USF grace à la macro Worksheet_SélectionChange qui se trouve dans le module de la feuille.
Le remplissage des combos se fait grace à des plages nommées dans la feuille (cachée) param.
Dans le Workbook_open il y a une ligne qui permet aux macros de modifier les cellules malgré la protection des cellules.
Là c'est juste une démo : je n'ai pas trop forcé sur la définition des plages nommée, mais il est très facile de rendre ces plages "dynamiques" (pour pouvoir ajouter des items sans être obligé de bricoler sans cesse les plages nommées.
Dans le USF, il faut encore inclure une gestion d'erreur qui contrôle que les 3 combos sont bien saisis...
Ces deux points (plage dynamique et contrôle de saisie des combos ont été modifiés dans la nouvelle démo (à charger sur le même lien).
Désormais tu peux rajouter autant de cours et de salle que tu veux dans la feuille param, les combos seront à jour automatiquement.
La gestion du USF prévoit que les 3 combos doivent être remplis. J'ai juste mis un bip en cas d'erreur, mais on peut utiliser toute la palette des rappels à l'ordre !
Pour le reste des explications YAKA demander...
A+