Listes déroulantes

Bonsoir à tous

Pour mieux comprendre le sujet de ma question je vous joins un exemple

Dans ce fichier on a 5 listes déroulants identiques ( D5, E5, F5, G5, H5 )

En plus j’ai rendu la liste E5 égal à D5, la liste déroulant F5 égale E5, G5 à F5 et H5 à G5.

Comme vous l’avez compris si je choisis POIRE en D5 tous les menus déroulants vont afficher POIRE et si je décide de modifier le choix du menu déroulant en F5 pour POMME G5 et H5 vont afficher POMME tout en gardant POIRE en D5 et E5.

Jusque-là tout va bien.

Maintenant je décide de changer ma sélection en D5 pour FIGUE, E5 change en FIGUE, mais F5 ne change plus car le fait d’avoir fait une sélection précédemment pour POIRE a supprimé la fonction égal. G5 et H5 affichent POIRE

La question est-il possible de garder les deux fonctions, égal et liste déroulante dans mon exemple.

Toutes solutions sont acceptées. Merci pour votre aide.

25ex1-v1.xlsx (9.32 Ko)

bonsoir

sans conviction ,mais

si la cel est vide >>le choix de la precedente sinon ou ensuite ;c'est la liste

25jo-personne.xlsx (8.68 Ko)

cordialement

Merci pour ta réponse tulipe_4, mais ta solution ne correspond à ma recherche.

En choisissant l'option = à, je souhaite éviter d'être obligé de sélectionner un nom dans chaque cellule.

re

on ne peux pas faire cela avec liste de validation car il faut obligatoirement "valider" qque chose faut voir du coté de vba ; j'imagine a peut pres quoi (un evennementiel change ,un set ; des offset(0,1) mais je ne maitrise pas du tout la syntaxe

deplus comme tu gardes en source les val de la liste il doit etre possible de garder tes listes de validation

a vot bon coeur messieurs les vbaistes

cordialement

Bonjour à tous

Merci tulipe_4.

Quelqu'un aurait il une solution à me proposer ?

Merci

Bonjour,

Une proposition avec VBA

35ex1-v1.xlsm (16.93 Ko)

A+

Bonsoir Frangy

Merci pour ta proposition, je regarde et j’intègre la macro au fichier final et je reviens demain.

Encore merci, bonne soirée.

Bonjour Frangy

La macro que tu me proposes correspond très bien à ma question. Encore merci.

Si tu permets j’ai 2 autres points à traiter et concerne toujours les listes déroulantes.

Je voudrais savoir comment organiser la macro pour des listes déroulantes en vertical, mais aussi avec une cellule vide intercaler entre 2 listes. Fichier joint EX1 v2

Le troisième plus complexe concernant une organisation d’équipe sur une semaine voir fichier joint MULTI-LISTE v1.

Chaque liste déroulante est classée par ordre alphabétique automatiquement et supprime les espaces entre chaque nom si suppression d’un nom en utilisant une formule et par copie 2 colonnes plus loin.

Chaque jour sa liste déroulante, mais identique avec une exception, lorsqu’une personne est absente je supprime le nom. EX en Q13 il manque CHARLES le mardi.

Actuellement avec la macro que tu m'as proposé, si je choisis CHARLES le lundi on écrit aussi CHARLES sur les autres jours de la semaine ainsi que mardi.

La question est-il possible de laisser CHOISIR le jour où il y a un absent dans la liste ? et écris sur les autres jours CHARLES.

En espérant que mon sujet n’est pas trop complexe.

Bon dimanche à tous

Merci à tous pour vos réponses et propositions.

26ex1-v2.xlsm (15.93 Ko)
22multi-liste-v1.xlsm (34.71 Ko)

Bonjour,

Je voudrais savoir comment organiser la macro pour des listes déroulantes en vertical, mais aussi avec une cellule vide intercaler entre 2 listes. Fichier joint EX1 v2

26ex1-v2.xlsm (15.90 Ko)

Le troisième plus complexe concernant une organisation d’équipe sur une semaine

35multi-liste-v1.xlsm (35.20 Ko)

J'ai écrit le code pour l'équipe M.

Si cela te convient, il faudra que tu l'adaptes pour les autres équipes.

Note : j'ai supprimé la colonne vide de séparation des W.E. et je l'ai remplacée par une bordure épaisse.

A+

Bonsoir Frangy, c'est un plaisir de lire ton poste. Je mets en application et je reviens des demain.

Merci pour tout.

Bonjour Frangy

Tout fonctionne parfaitement.

Comme tout semble facile quand on maitrise le VBA, serait-il possible :

Maintenant que l'équipe est placé si je supprime BENOIT en U16 est-il possible de faire changer l'état de la cellule F12 qui affiche BENOIT par CHOISIR ? et ainsi de suite sur les autres jours si nécessaire.

voir fichier joint

Merci pour ton soutien, bonne journée.

Bonjour Frangy

Tout fonctionne parfaitement.

Comme tout semble facile quand on maitrise le VBA, serait-il possible :

Maintenant que l'équipe est placé si je supprime BENOIT en U16 est-il possible de faire changer l'état de la cellule F12 qui affiche BENOIT par CHOISIR ? et ainsi de suite sur les autres jours si nécessaire.

voir fichier joint

Merci pour ton soutien, bonne journée.

Bonsoir à tous, y a t'il une solution à ma question ? voir fichier ci-dessus.

Merci votre soutien

Bonjour,

A tester ...

13multi-liste-v2.xlsm (37.02 Ko)

A+

Bonsoir Frangy

J’ai testé le fichier qui réagit en parti au sujet, mais !

1) Si tu places la même personne sur les 5 jours de la semaine et que tu supprimes son nom de la liste sur l’un des jours suivant : mardi, mercredi, jeudi, vendredi, CHOISIR remplace le nom de la personne.

Par-contre si tu le supprimes le lundi, se sera toute la semaine que le nom sera remplacé par CHOISIR.

2) Si tu mets par ex CHARLES le lundi, mardi, jeudi, vendredi puis le mercredi, on met BENOIT. Maintenant dans la liste on supprime BENOIT le mercredi et bien BENOIT est remplacé par CHARLES à la place de CHOISIR.

Merci pour ta proposition, est-il possible d’affiner la macro ?

Bonne soirée

Bonjour,

Bon, alors on essaie autrement

15multi-liste-v3.xlsm (36.50 Ko)

A+

Bonjour Frangy

Merci pour cette proposition qui corrige le point ci-dessus, mais il reste un point et là je me sens fautif car dans mon exemple j’ai fait au plus simple et il y a une condition que tu n’as pu prendre en compte. Dans le fichier final il y a plusieurs lignes de productions.

Désolé pour cet oubli.

Dans le fichier joint j’ai rajouté une ligne de production « CH 1, CH 2 ».

1. La situation, si je supprime BENOIT en R16, en E12 BENOIT est remplacé par CHOISIR, jusque-là tout fonctionne normalement. Mais la cellule E15 ou on peut lire CHARLES est aussi remplacé par CHOISIR alors qu’il est présent.

2. Un point que je n’avais pas vu précédemment si tu as le nom d’une personne sur samedi et dimanche et que tu modifie la sélection de la semaine, samedi et dimanche passe en CHOISIR

En espérant qu’une solution existe, je te souhaite un bon dimanche.

20multi-liste-v4.xlsm (38.95 Ko)

Bonjour,

Dans le fichier joint j’ai rajouté une ligne de production « CH 1, CH 2 ».

1. La situation, si je supprime BENOIT en R16, en E12 BENOIT est remplacé par CHOISIR, jusque-là tout fonctionne normalement. Mais la cellule E15 ou on peut lire CHARLES est aussi remplacé par CHOISIR alors qu’il est présent.

Tel que tu as conçu ton tableau, chaque période d'une ligne de production correspond à une table d'affectation des noms.

Exemple :

CH1 - Matin correspond à la table O12:AI28

CH1 - Soir correspond à la table O34:AI50

CH1 - Nuit correspond à la table O57:AI66

Si tu crées une nouvelle ligne de production, il faut également créer de nouvelles tables.

Or, de ton coté, tu as recopié la partie de procédure qui effectue le traitement sur CH1 - Matin (ligne 12) en modifiant simplement le numéro de ligne à modifier (ligne 15 => CH2 - Matin). La suppression d'un nom dans la table d'affectation des noms provoque alors systématiquement une modification sur ces deux lignes.

Note : tu as remarqué que je n'ai écris le code que pour CH1 - Matin. Pour les autres périodes (soir et nuit), il faut que tu utilises le même code avec des plages différentes.

2. Un point que je n’avais pas vu précédemment si tu as le nom d’une personne sur samedi et dimanche et que tu modifie la sélection de la semaine, samedi et dimanche passe en CHOISIR

Il faudrait que tu expliques comment sont gérés les W.E. Actuellement, le programme traite ces deux jours comme ceux de la semaine. Le problème, c'est que les noms dans les listes du W.E. ne sont pas les mêmes que ceux des listes de la semaine. Lors d'une modification, le nom n'étant pas présent dans la liste, la procédure force ce nom à "CHOISIR".

A+

Bonjour Frangy

Or, de ton coté, tu as recopié la partie de procédure qui effectue le traitement sur CH1 - Matin (ligne 12) en modifiant simplement le numéro de ligne à modifier (ligne 15 => CH2 - Matin). La suppression d'un nom dans la table d'affectation des noms provoque alors systématiquement une modification sur ces deux lignes.

Note : tu as remarqué que je n'ai écris le code que pour CH1 - Matin. Pour les autres périodes (soir et nuit), il faut que tu utilises le même code avec des plages différentes.

Si je t’ai bien compris pour gérer les absents avec la macro que tu me proposes

EX : si j’ai 10 lignes de prod il faut que je fasse 10 tableaux par équipe, total 30 + le week-end.

L’objectif d’utiliser une macro était de gagner du temps dans la gestion des absents, là j’ai un doute.

Y a-t-il une autre option en macro ?

Si je mets en application comment gérer la longueur de la macro ?

Il faudrait que tu expliques comment sont gérés les W.E. Actuellement, le programme traite ces deux jours comme ceux de la semaine. Le problème, c'est que les noms dans les listes du W.E. ne sont pas les mêmes que ceux des listes de la semaine. Lors d'une modification, le nom n'étant pas présent dans la liste, la procédure force ce nom à "CHOISIR".

Pour les équipes de week-end j’ai besoin de les gérer séparément des équipes de semaine.

Bonjour frangy

Je clôture se poste en te remerciant d'avoir pris le temps de te pencher sur mon sujet.

Bonne journée

Rechercher des sujets similaires à "listes deroulantes"