Microsoft 365 gestion des listbox

Soumie

XLDnaute Nouveau
Bonjour,
Je travaille sur un userform dans lequel j'ai inséré une liste déroulante et une listbox à choix multiples qui dépend de ma listebox (en cascade). en effet ma listboxe apparait uniquement quand ma liste déroulante est sélectionnée. Jusque la tout fonctionne. Ma question est comment faire disparaitre ma listbox une fois que mes sélections d'items dans ma listbox est terminée?
J'aimerais savoir aussi comment, à partir d'une base de donnée sur une feuille Excel , afficher les choix dans ma listbox à choix multiples dépendamment de ma sélection dans ma liste déroulante ?

Merci de bien vouloir m'aider!
 

Pièces jointes

  • Capture d’écran 2023-09-26 082555.jpg
    Capture d’écran 2023-09-26 082555.jpg
    24.2 KB · Affichages: 14

Soumie

XLDnaute Nouveau
C'est un userform qui permet d'affecter des surveillances d'examens . Chaque ligne représente un examen. Ils sont tous dans une même journée. D'ou l'importance de ne pas sélectionner les mêmes surveillants. il va y avoir en tout 6 listbox identiques dont la 2 et la 3 déjà crées. toutes contiennent les mêmes items. À la 6ème listebox les surveillants qui ont été sélectionnés avant ne devraient pas être disponibles. Merci!
 

Soumie

XLDnaute Nouveau
Il y a 70 surveillants environ. Au début, j'avais créé un multipage de 1 à 5 toutes identiques, car il y a 5 jours d'examen. Une fois les informations complétées sur les 5 pages, je devais faire appel à la macro "dupliquerhoraire" pour les exporter dans la feuille "Horaire" pour avoir chaque feuille au nom d' un surveillant. Par la suite, j'ai réalisé que je devais répéter toutes les instructions de la première page 5 fois et ça en faisait beaucoup. J'ai cherché s'il n y avait pas moyen juste de faire un copy colle de groupe, mais il y en a pas . Alors, je suis en train de changer la configuration pour ne garder que seule page et exporter le tout dans la feuille "Export" sous forme de tableau où tout le monde figure (Au lieu de feuille individuelle pour chaque surveillant ).
Résultat : au lieu de compléter toutes les pages pour tous les examens et exporter toutes les informations à la fin. Je vais compléter et exporter les informations un examen à la fois. Je réinitialise la page "jour 1" une fois les infos exportexportées avant de planifier l'examen du jour suivant. Je tiens à dire je suis débutante et que c'est mon premier projet en vba!!!!
Tout ce dont j'ai besoin est un code qui permet d'éviter une double sélection soit à l'aide un msgbox d'avertissement comme ce que j'ai fait pour la macro (test) pour la liste déroulante "Nombre2" et "Nombre1", soit en le rendant indisponible dans la listboxe suivante, et ceux, jusqu'à la listbox numéro 7 que je suis en train de ceer en ce moment. l'utilisateur retourne en arrière pour choisir un autre surveillant.

Par soucis d'espaces, les listbox apparaissent seulement quand vous selectionnez une heure dans l'avant dernière colonne.
(Les lignes secondaire 1 et secondaire 2 sont fonctionnelles pour le moment. Les restantes vont suivre.)

Donc, à moins que vous ayez une autre suggestion, les pages de jour2 à jour5 vont être retirer.

Il ne faut pas fixer le nombre de surveillants c'est une variable (voir feuilles données variables, données fixes, paramètres (en construction également )).

Il y a 6 niveaux de secondaire 1 à 5 plus une classe accueil ce qui explique les 6 lignes identiques par niveau.
Merci encore pour votre patience et votre aide!
 

Soumie

XLDnaute Nouveau
C'est un examen par jour par secondaire. Je sélectionne dans l'ordre :
1) la date en haut à droite
2) le niveau(case à cocher 2eme colonne)
3) nombre de groupe( colonne suivante,
4) la matière en examen(colonne 3)
5) le code matière (listbox1 qui apparaît à la sélection de la case avant) ainsi de suite Jusqu à la colonne surveillant.
Le nombre de surveillants correspond aux nombre total de groupes c'est une variable que J'ai nommé n,m,o,p,q et r. C'est pour ça que j'ai utilisé une listbox multiselection pour chaque niveau. Si j'ai deux groupes secondaire 1, j'ai besoin de 2 surveillants par exemple.
A savoir: tous les niveaux ne font pas le même examen la même journée donc je ne peux pas utilisé un combobox pour l'examen pour tous. La seule donnée en commun c'est la date de l'examen que j'ai fixée en haut à droite.

Idéalement, j' aimerais garder toutes mes pages de sorte à faire la planification de tous les examens et par la suite exporter le tout vers ma feuille"Export", mais je ne vois pas comment je pourais répéter toutes les instructions vu le nombre de contrôle que j'ai.
 

Soumie

XLDnaute Nouveau
8 groupes par niveau max.
En travaillant sur le code hier, je me suis aperçu d'une contrainte supplémentaire: dans une même journée, il peut y avoir des niveaux(secondaire) qui n'ont pas d'examen ce jour là. cela veut dire qu'on ne peut pas comparer les listbox 2 par deux dans l'ordre, mais plutôt toutes ensemble pour détecter le ou les surveillants sélectionnés en double. Voilà. Je continue à avancer de mon coté.
Merci!
 
Dernière édition:

Soumie

XLDnaute Nouveau
Bonjour ,
J'ai un nombre de listbox qui s'ouvrent au click sur la combobox qui se trouve juste avant sur la même ligne (Ex : la listbox2 et le CommandButton27 s'ouvrent en cliquant sur le combobox 98). Le même principe pour toute la colonne de listbox. Pour fermer la listbox2 j'utilise le CommandButton27. Le problème est le suivant: une fois la listbox2 fermée, si je veux la rouvrir, je reclick sur la combobox98 normalement, sauf qu'elle ne s'ouvre pas au click. Je suis obligée de changer la valeur de la combobox98 pour que la listbox2 et le CommandButton correspondant s'ouvrent. Je ne trouve pas où est la faille dans le code. Le problème concerne tous mes listbox à la page1 "Examens". Pouvez-vous m'aider?
 

Pièces jointes

  • Horaire de surveillance V.2.xlsm
    240.9 KB · Affichages: 2

Soumie

XLDnaute Nouveau
Bonjour,
Merci de me répondre. Effectivement, le nombre d'enseignants correspond au nombre de groupes. Mais la question n'est pas là. Pourquoi
La liatbox2 (à la page 1 du formulaire première ligne avant derniere colonne) ne s'ouvre pas à cahque fois que je clique sur la combobox98 qui la gère?
 

Statistiques des forums

Discussions
313 198
Messages
2 096 141
Membres
106 505
dernier inscrit
ngomez