Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

suppression d'éléments dans une liste déroulante (données validation)

8 réponses
Avatar
Evita
Bonjour à toutes et tous.

Je me tourne vers vous car malgré pas mal de recherches, je n'ai pas trouvé
de solutions.
Je cherche le moyen de supprimer "temporairement" un nom, dans une liste
déroulante crée par Données_Validation, avec une formule decaler(), s'il a
déjà été utilisé dans une colonne précédente.

Pour plus de clarté, chaque feuille de mon classeur sert à établir un planning
mensuel de différents postes (8 de jour et 8 de nuit).
Les lignes correspondent aux jours du mois, les colonnes aux différents
postes.
Je souhaiterais, pour chaque jour du mois (c'est pour celà que j'utilise
plus haut le terme de temporaire) qu'une personne occupant par exemple le
poste Activité_1_jour (colonneB), n'apparaisse plus dans ma liste de choix
pour les autres colonnes (de C à Q)
Quand une autre personne est affectée p.ex à la colonne E, son nom ne serait
plus disponible dans les listes déroulantes des colonnes F à Q.

Connaissez-vous un moyen de "masquer" des éléments lorsque ces listes sont
établies avec données validation ou suis-je obligée de passer par un code
VBA ?

Par avance, merci de vos idées et conseils
au plaisir :-)
Evita@

8 réponses

Avatar
Daniel.M
Bonsoir,

Un exemple en anglais là : www.contextures.com/DataValHidden.xls

Les choix déjà effectués ne peuvent être repris. C'est un exemple avec des noms
de personne mais l'idée est la même pour tes postes d'activités.
Évidemment, tu as déjà une liste de Postes d'activités valide au départ.

Salutations,

Daniel M.

"Evita" wrote in message
news:
Bonjour à toutes et tous.

Je me tourne vers vous car malgré pas mal de recherches, je n'ai pas trouvé
de solutions.
Je cherche le moyen de supprimer "temporairement" un nom, dans une liste
déroulante crée par Données_Validation, avec une formule decaler(), s'il a
déjà été utilisé dans une colonne précédente.

Pour plus de clarté, chaque feuille de mon classeur sert à établir un planning
mensuel de différents postes (8 de jour et 8 de nuit).
Les lignes correspondent aux jours du mois, les colonnes aux différents
postes.
Je souhaiterais, pour chaque jour du mois (c'est pour celà que j'utilise
plus haut le terme de temporaire) qu'une personne occupant par exemple le
poste Activité_1_jour (colonneB), n'apparaisse plus dans ma liste de choix
pour les autres colonnes (de C à Q)
Quand une autre personne est affectée p.ex à la colonne E, son nom ne serait
plus disponible dans les listes déroulantes des colonnes F à Q.

Connaissez-vous un moyen de "masquer" des éléments lorsque ces listes sont
établies avec données validation ou suis-je obligée de passer par un code
VBA ?

Par avance, merci de vos idées et conseils
au plaisir :-)
Evita@




Avatar
Evita
Bonjour Daniel.M

Je te remercie pour cette piste.
Je vais essayer d'adapter l'exemple à ma situation et je reviendrai te tenir au courant.

--
Merci, au plaisir :-)
Evit@

Bonsoir,

Un exemple en anglais là : www.contextures.com/DataValHidden.xls

Les choix déjà effectués ne peuvent être repris. C'est un exemple avec des noms
de personne mais l'idée est la même pour tes postes d'activités.
Évidemment, tu as déjà une liste de Postes d'activités valide au départ.

Salutations,

Daniel M.


Avatar
Starwing
Bonjour Daniel,

C'est devenu complètement fou le nombre de fois où je vois maintenant ton
nom...avec tes formules.
Ton nom figure quasiment partout. ;-)
Hallucinant!
Continue ton excellent travail.

Starwing
Avatar
Daniel.M
Je te remercie pour cette piste.


Y a pas de quoi.


Je vais essayer d'adapter l'exemple à ma situation et je reviendrai te tenir
au courant.


OK. Rapplique ici si tu as des problèmes.

Salutations,

Daniel M.

Avatar
Daniel.M
Google est notre ami. :-)

En passant, le site de Debra est mon site _anglophone_ préféré pour la gestion
des données.
Les explications sont claires et on y voit des techniques avancées très bien
maîtrisées.

Bonne journée.

Daniel M.

"Starwing" wrote in message
news:
Bonjour Daniel,

C'est devenu complètement fou le nombre de fois où je vois maintenant ton
nom...avec tes formules.
Ton nom figure quasiment partout. ;-)
Hallucinant!
Continue ton excellent travail.

Starwing




Avatar
Evita
Bonjour Daniel,

Lors de la mise en application des formules que tu m'as proposé, je rencontre un soucis
avec NB.SI.
La plage à prendre en considération est faite de 8 cellules non contiguës (sur la même
ligne mais décalées de 1 colonne à chaque fois).
J'ai essayé de nommer cette plage, cela ne fonctionne pas.
J'ai tenté des somme.si, sommeprod ou autres matricielles, rien de plus.
J'ai cherché un peu partout sur les sites que je connaissais, sans succés.
J'ai trouvé un commentaire d'AV qui confirme mes échecs
(http://www.excelabo.net/xl/nommer.php#nonadjacentes).

Sais-tu si qq'1 a trouver une solution depuis, pour compter le nb de cellules non
adjacentes remplissant une même condition ? ou si un(e) autre a trouvé une solution
alternative?

D'avance merci
Au plaisir,
evit@
Avatar
Daniel.M
Hello,

Sans connaître plus précisément ta disposition des données, cela devient plus
difficile.

Si c'est toujours décalé de un (et en comptant les colonnes impaires):
=SI(SOMMEPROD( (Plage=UneCondition) * (MOD(COLONNE(Plage);2)=1)) > 1;"";LIGNE(Plage))

Salutations,

Daniel M.

"Evita" wrote in message
news:
Bonjour Daniel,

Lors de la mise en application des formules que tu m'as proposé, je rencontre
un soucis

avec NB.SI.
La plage à prendre en considération est faite de 8 cellules non contiguës (sur
la même

ligne mais décalées de 1 colonne à chaque fois).
J'ai essayé de nommer cette plage, cela ne fonctionne pas.
J'ai tenté des somme.si, sommeprod ou autres matricielles, rien de plus.
J'ai cherché un peu partout sur les sites que je connaissais, sans succés.
J'ai trouvé un commentaire d'AV qui confirme mes échecs
(http://www.excelabo.net/xl/nommer.php#nonadjacentes).

Sais-tu si qq'1 a trouver une solution depuis, pour compter le nb de cellules
non

adjacentes remplissant une même condition ? ou si un(e) autre a trouvé une
solution

alternative?

D'avance merci
Au plaisir,
evit@




Avatar
Evita
Bonsoir Daniel

Si c'est toujours décalé de un (et en comptant les colonnes impaires):
=SI(SOMMEPROD( (Plage=UneCondition) * (MOD(COLONNE(Plage);2)=1)) > > 1;"";LIGNE(Plage))


C'est effectivement tjs décalé d'1 seule colonne.

Je devrais pouvoir adapter cette idée "lumineuse" de MOD, à mon petit soucis.
Je te tiendrais au courant sur ce fil (probablement pas avant lundi)

Merci ++ et bonne fin de semaine
Evit@