XL 2016 Liste déroulante

antoineneant

XLDnaute Nouveau
Bonjour,
Je vous contacte car mes compétences sur Excel sont limitées et j'ai besoin pour le travail de finaliser la création d'un tableau de bord.
J'ai un parc de places d'hébergements (47) à gérer pour un nombre de personnes accueillies (47) au sein de notre association.
Je dois rattacher un hébergement à chaque personne et je souhaiterais utiliser une liste déroulante ou dès qu'un choix est effectué il disparait de la liste pour l'attribution suivante. Au fil de mes attributions, la liste se réduirait pour finir à 0 logement à proposer.

Je ne sais pas comment faire cela dans Excel.
Vous trouverez en pièce jointe le tableau.

Merci d'avance de vos retours.

Cordialement.

Antoine
 

Pièces jointes

  • Activité 2020.xlsx
    24.2 KB · Affichages: 22

R@chid

XLDnaute Barbatruc
Bonjour et Bienvenue sur XLD,
Voir PJ
On le le fait avec une colonne intermédiaire onglet "Listes" colonne O
Tu trouveras le nom du champ dynamique ListeDeChoix dans le gestionnaire de noms, onglet "Formules"


Cordialement
 

Pièces jointes

  • Antoineneant_Liste_V1.xlsx
    21.5 KB · Affichages: 14

KLfy

XLDnaute Nouveau
Bonjour,

Je me permets de greffer au sujet car je chercher à faire la même chose, je m'étais inspiré d'un autre post et ça marchait bien sur l'exemple en question mais une fois que je passe sur mon cas, cela ne fonctionne pas.

Voici le topic en question : https://www.excel-downloads.com/threads/liste-deroulante-exclusive.225491/

Ce que je cherche à faire : j'ai un inventaire X composé d'un certains nombres de flux N et je souhaite combiner les flux en différents groupes. Exemple : au lieu d'avoir un inventaire composé de 21 flux, je voudrais qu'ils soit uniquement composé de 3 groupes avec respectivement 9, 5 et 7 flux par exemple. Pour cela mon idée est d'avoir un tableau avec des listes déroulantes pour qu'on puisse attribuer chaque flux au groupe qu'on veut. Le but étant d'être sûr de n'oublier aucun flux ou de ne pas les compter deux fois.

La solution proposée dans le lien ci-dessus consiste à utiliser une fonction matricielle mais je n'arrive pas à la transposer à mon cas alors que j'ai réussi avec l'exemple ci-dessus.
Colonne choix0 et choixN fonctionnement mais pas la formule matricielle pour la colonne choixP seule la première ligne est remplie et pas avec la bonne valeur.

Je soupçonne que ça vient de la partie "Petite.valeur" pas adaptée à mon cas mais je ne comprends pas assez la formule. Est-ce que quelqu'un aurais une idée ?

Merci beaucoup pour votre aide !
 

Pièces jointes

  • Liste déroulante.xlsx
    62.7 KB · Affichages: 7

cp4

XLDnaute Barbatruc
Bonsoir tout le monde :),

Un essai en VBA à adapter et tester. Personnellement, j'ai fait quelques concluants tests sur le fichier d' @antoineant .
Code à mettre dans le module de la feuille "Décembre_20".
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim tb(), NbLig As Integer, i As Integer, C As String, n As Integer
   NbLig = Sheets("Listes").[M65000].End(xlUp).Row
   For i = 5 To NbLig
      C = Sheets("Listes").Cells(i, 13)
      If IsError(Application.Match(C, Range("Tableau1[Hébergement]"), 0)) Then   'attention au nom du tableau et colonne
         n = n + 1
         ReDim Preserve tb(1 To n)
         tb(n) = C
      End If
   Next i

   If Not Application.Intersect(Target, Range("Tableau1[Hébergement]")) Is Nothing Then
      Target.Validation.Delete
      Target.Validation.Add xlValidateList, Formula1:=Join(tb, ",")
   End If

End Sub

Bonne soirée.
 

cp4

XLDnaute Barbatruc
Bonjour,

Je me permets de greffer au sujet car je chercher à faire la même chose, je m'étais inspiré d'un autre post et ça marchait bien sur l'exemple en question mais une fois que je passe sur mon cas, cela ne fonctionne pas.

Voici le topic en question : https://www.excel-downloads.com/threads/liste-deroulante-exclusive.225491/

Ce que je cherche à faire : j'ai un inventaire X composé d'un certains nombres de flux N et je souhaite combiner les flux en différents groupes. Exemple : au lieu d'avoir un inventaire composé de 21 flux, je voudrais qu'ils soit uniquement composé de 3 groupes avec respectivement 9, 5 et 7 flux par exemple. Pour cela mon idée est d'avoir un tableau avec des listes déroulantes pour qu'on puisse attribuer chaque flux au groupe qu'on veut. Le but étant d'être sûr de n'oublier aucun flux ou de ne pas les compter deux fois.

La solution proposée dans le lien ci-dessus consiste à utiliser une fonction matricielle mais je n'arrive pas à la transposer à mon cas alors que j'ai réussi avec l'exemple ci-dessus.
Colonne choix0 et choixN fonctionnement mais pas la formule matricielle pour la colonne choixP seule la première ligne est remplie et pas avec la bonne valeur.

Je soupçonne que ça vient de la partie "Petite.valeur" pas adaptée à mon cas mais je ne comprends pas assez la formule. Est-ce que quelqu'un aurais une idée ?

Merci beaucoup pour votre aide !
Bonsoir @KLfy ,

De grosses "pointures", t'ont répondu. Normalement, tu aurais pu solutionner ton problème avec ce qu'on t'a proposé.
En adaptant le code que je viens de proposer, j'espère que tu t'en sortiras.
Bonne soirée.

nb: reviens sur ta discussion pour ne pas surcharger celle-ci qui n'est pas la tienne.
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 070
Membres
103 110
dernier inscrit
Privé