Planning avec réduction des liste déroulante après séléction

Bonjour,

Après pas mal de recherches infructueuses, je me décide à poster ma demande.

J'ai un planning quotidien à faire pour environ 25 chauffeurs, j'ai une base avec listes déroulantes pour identifier les véhicules, les chauffeurs et le code tournée.

Il arrive souvent que des doublons soient présents. J'aimerais trouver une solution pour que les listes se réduisent après chaque sélection pour rendre impossible ce genre d'erreur.

J'ai trouvé des choses intéressantes sur ce sujet mais je ne maitrise pas les macros qui sont le plus souvent utilisées.

J'ajoute un fichier exemple qui sera plus parlant.

26test-planning.xlsx (18.00 Ko)

Je remercie d'avance ceux qui pourront m'aider à avancer.

Bonjour,

Voici une proposition avec un peu de code

demo yann

Pierre

Bonjour Pierre,

Merci pour cette réponse rapide. Je n'ai pas accès à un pc pour le moment mais je vais regarder le fichier dès mardi et ferai un retour à votre message.

L'aperçu à l'air prometteur !

Merci encore et bon week-end.

Yann

Bonjour Pierre,

Je viens d'ouvrir le fichier. C'est parfait ! Merci beaucoup.

Si tu as l'occasion de tenter de m'expliquer comment tu as fait je suis preneur. Même si je ne suis pas sûr que mes compétences Excel soit suffisante pour y arriver.

Bonne journée.

Yann

Bonjour Yann,
Content que ça convienne!

Si tu as l'occasion de tenter de m'expliquer comment tu as fait je suis preneur.

Le principe est le suivant :
* une seule "combobox" masquée qui s'affiche dans la cellule sélectionnée,
* qui se masque après avoir choisi un item dans la liste et la valeur s'inscrit alors dans la cellule,
* en fonction de la colonne on utilise l'une ou l'autre des listes, (=> cf code de la feuille "Planning")
* la liste s'établit en fonction de la colonne et des valeurs déjà existantes dans le planning via la requête Sql suivante :

    Req = "SELECT (`" & Head(cl) & "`)" & _
          " FROM [Feuil1$A1:E100] " & _
          " WHERE NOT ISNULL(`" & Head(cl) & "`)" & _
          " AND `" & Head(cl) & "` NOT IN " & _
          " (SELECT `" & Hea2(cl) & "` FROM [PLANNING JOURNALIER$A2:D51] " & _
          " WHERE NOT ISNULL(`" & Hea2(cl) & "`))"

Ce qui peut se traduire en clair par une commande du genre "Afficher la liste des chauffeurs de la 'Feuil1' dont les noms ne sont pas inclus dans la liste des équipages du 'Planning'" (=> cf code du module Sql). Le tout avec un ptit bricolage car les intitulés de colonnes ne sont pas tout à fait identiques dans les 2 onglets (d’où les array Head et Hea2).

Pierre

Je me pencherai dessus à tête reposée.

Je ne connais pas grand chose aux macros, mais j'essaie d'apprendre.

Un énorme merci pour ton aide et tes explications.

Je te dirai quand j'aurai compris tout ça !

Bonne journée.

Yann

Rechercher des sujets similaires à "planning reduction liste deroulante selection"