Listes déroulantes en fonction d'autres listes

Bonjour tout le monde,

Je dois me résigner à vous demander un coup de main car je ne parviens vraiment pas à atteindre mon objectif depuis plusieurs semaines maintenant.

Des soutenances sont programmées à certaines dates, avec heures définies dans la journée et aussi des salles associées. Je souhaite permettre à une personne de réserver facilement son créneau de soutenance à l'aide de listes déroulantes. Il doit choisir la date de son choix, puis l’heure qui lui convient le plus et enfin une salle disponible (cf. tableau n°1). J'aimerais que ce soit facile pour la personne de réserver sa soutenance, mais aussi facile pour moi de mettre à jour les données. Je préfère ne pas utiliser les macros, mais seulement les listes déroulantes d'Excel et ses formules. Je précise avoir déjà investigué la fonction Index afin de permettre de définir une liste déroulante en fonction d'une autre. Il faut pour cela définir des noms pour ces listes et malheureusement, il ne faut pas qu'il y ait d'espace. Cela me pose problème.

Si quelqu'un a une idée afin qu'une personne puisse sélectionner dans une liste déroulante sa date, puis dans une autre liste déroulante son heure, et enfin dans la dernière liste déroulante sa salle. Je suis preneur !!!

Merci d'avance à tous.

Bonne soirée.

sans titre

Bonsoir,

sans vouloir faire de la "pub" à Steelson vous pouvez regardez ICI.

@ bientôt

LouReeD

Bonsoir LouReed,

Merci pour ton premier retour ! En suivant tes conseils, je remarque qu'il faut utiliser les macros (cf. Etape 3 :Copiez la macro dans la feuille de saisie définie ci-dessus). Je cherche une solution sans macro pour le moment.

Bonjour,

Pour que tout soit "facile", comme tu le souhaites, pas dit que cette organisation soit la plus propice.

Avec juste une capture d'écran de données assez éloignées de tes vraies données, ça ne va pas être facile de te venir en aide.

Bonsoir JoyeuxNoel,

Je place donc un fichier Excel en pièce jointe avec des données réalistes. On retrouve la partie utile aux utilisateurs (3 listes déroulantes) mais aussi 3 idées de structuration de la base de données. J'espère que ce sera plus clair ainsi. N'hésitez pas à me solliciter pour plus de précisions.

Merci encore pour vos conseils.

illustration
4illustration.xlsx (12.43 Ko)

Comme cela sans regarder le fichier, c'est l'idée numéro 1 qu'il faut prendre !

Une cellule par valeur, une valeur par cellule, pas de cellule fusionnée ! Ca c'est une base de données, en plus c'est déjà un tableau structuré sous Excel !

Et pourquoi pas de VBA pour faire ce que vous souhaitez ?

@ bientôt

LouReeD

100% d'accord avec Loureed.

Par contre, sans Vba, ça va être une misère folle.

Est-il envisageable de faire la réservation des salles via un agenda Outlook, ou Gmail ?

@LouRed

La solution qui consiste à utiliser un tableau contenant toutes les valeurs de manière unique me plaît. Mais comment relier ce tableau de données aux 3 listes à la disposition de l'utilisateur ? Car il faut bien proposer l'information affineée à l'utilisateur au fur et à mesure de son choix. (ex : l'utilisateur ne pourra pas choisir une combinaison date, heure et salle non valable).

Je ne souhaite pas utiliser le VBA pour le moment car il faudrait alors que les utilisateurs activent les macros à l'ouverture du fichier pour que ça fonctionne. Certains ont déjà du mal à comprendre le fonctionnement d'une simple liste déroulante. Par ailleurs, Excel n'étant pas nécessairement la meilleure solution, la DSI pourrait ne pas accepter un fichier sur le réseau contenant du code à exécuter via macro.

@JoyeuxNoel

Il me semblait aussi que sans VBA ce serait complexe. Actuellement, la solution que j'utilise est l'usage d'une unique liste déroulante contenant l'ensemble des combinaisons possibles date, heure, salle. L'utilisateur n'a plus qu'à choisir dans la liste la combinaison qu'il veut. Cependant, cette liste est parfois un peu longue et fastidieuse pour la lire correctement. La solution de confort serait de dégrouper en 3 listes déroulantes connectées.

Il devrait être possible de réserver via outlook. Cependant je ne vois pas du tout ce que tu as en tête (je suis novice désolé). En revanche, l'utilisateur se sert d'outlook et son agenda dans lequel il ajoutera la réservation du créneau choisis à la toute fin du processus. Si tu as des idées sur cette piste je suis curieux.

Merci à tous les deux encore.

Bonne soirée.

Après avoir parcouru de nombreux posts sur Internet, je suis tombé sur de nouvelles fonctions Excel qui ne semblent pas encore disponibles pour tout le monde : Unique(), Filtre() et Trier(). Ces fonctions m'ont permis de bien avancer dans ma démarche. Je mets d’ailleurs en pièce jointe le travail actuel qui pourrait aider.

En revanche, il me reste encore un point à débloquer qui est illustré par l'image : La colonne A contient un tableau avec une liste de produits. La cellule C2 contient la liste déroulante et dynamique de ces produits. Si je supprime le contenu de la cellule A2 (Produit 1), alors la cellule C2 (Produit 1) ne change pas. Pourtant, le Produit 1 n'est plus disponible dans la colonne 1. Comment faire pour que la liste déroulante s'actualise pour ne jamais afficher de valeur non-disponible dans la colonne A ? (Sans VBA, uniquement par des formules ou autres astuces/bidouilles).

Merci à tout ceux qui auraient des pistes pour m'aider.

test
3test.xlsx (14.18 Ko)

Bonsoir,

hélas votre demande n'aboutira pas sans VBA, à mon avis.

En effet une valeur inscrite dans une cellule ne changera sans VBA que si elle est issue d'une formule.

Un paramètre de cette formule change alors le résultat change.

Mais une donnée écrite en "dur" dans la cellule, même si c'est par l'intermédiaire d'une liste de choix, qui elle est dynamique, ne changera pas. Il faut alors utiliser VBA et les surveillances événementielles pour détecter un changement quelconque sur la feuille et de ce fait pouvoir faire les tests qui s'imposent pour mettre à jour les données.

Sinon ci joint un exemple de liste de choix passant par un une liste nommée qui fait référence à une colonne dynamique qui, elle, est le résultat de formules qui permettent de faire ressortir des données sans doublons et par ordre alphabétique d'une autre colonne :

10test.xlsx (21.77 Ko)

@ bientôt

LouReeD

Pour ma part, j'imaginais que tu pouvais créer un agenda gmail pour chaque salle réservable. Tu partagerais ensuite les agendas avec les étudiants qui vont passer leur soutenance, et ils pourraient réserver leur créneau en créant un événement sur la plage correspondante....

... en dernier recours.

Je ne suis pas geek !

Je ne maitrise pas tous ces outils de communautarisme !

La visio, l'agenda, les réseaux sociaux....

@ bientôt

LouReeD

Je ne suis pas geek !

Je ne maitrise pas tous ces outils de communautarisme !

La visio, l'agenda, les réseaux sociaux....

Je préférerais connaître moins de choses là-dessus et avoir la moitié de votre aisance avec le VBA

Alors là ! Je rigole !!!

Mon aisance en VBA ?!

J'arrive a peu près à faire ce que je cherche à faire mais loin de moi l'aisance que je peux peut-être montrer...

C'est fou ce que je suis obligé de "donner" pour y arriver, je suis toujours en train de reprendre de "vieux trucs" car la mémoire n'est pas au rendez-vous !

Bon aller, je vous dis tout de même merci pour cette sympathique remarque !

@ bientôt

LouReeD

Bonjour LouReeD,

Merci pour tes explications. Je vais donc me résigner et explorer du coté de VBA pour obtenir plus fidèlement le résultat souhaité.

@ bientôt.

Rechercher des sujets similaires à "listes deroulantes fonction"