Liste déroulante

Bonjour,

Mon problème : je cherche à mettre en place une liste déroulante (liste déroulante vanilla et non une liste déroulante vba) qui a comme source un tableau (jusqu'a la rien de difficile). Mais je voudrais que la liste déroulante affiche seulement certains éléments.

image

Je veux que ma liste déroulante affiche seulement les références avec un état de 1 (voir image ci-dessus).

Avez-vous une idée pour mon problème ? Je suis ouvert aux solutions excel vanilla et excel vba.

Merci par avance de vos retours,

A bientot,

Bonjour,

Avec une colonne supplémentaire, et la fonction "Filtre".

Dans le fichier joint, dans la cellule E1, la formule :

=FILTRE(A2:A8;B2:B8=1)

Et dans la cellule G1, la liste de validation :

image

Note le # après la cellule _ Cela permet d'avoir l'intégralité de la liste issue de la formule "Filtre"

Bonne journée, et bonne semaine

Bonjour,

Si tu n'as pas Office 365 :

capture d ecran 20221107 110245

En D2, à recopier vers le bas :

=SIERREUR(INDEX($A:$A;AGREGAT(15;6;LIGNE($2:$8)/($B$2:$B$8=1);LIGNE(A1)));"")

Crée ta liste de validation de données avec la formule :

=DECALER($D$1;1;;NB.SI(D:D;"><")-1)

Daniel

bonjour

une petite contribution adaptée au version Xl plus "rustiques" ,avec qques explications

cordialement

12mj09.xlsx (12.23 Ko)

Merci pour vos retour !

Je me suis pas trop casser la tête au finale... j'ai écrit une petite macro : (J'en avais déjà dans mon projet)

u = debutLigneListeChantier
For i = debutLigneListeChantier To derniereLigneListeChantier + 1
    If Sheets(feuilListeChantier).Cells(i, 4) = "En cours" Then
        Sheets(feuilListeChantier).Cells(u, 6) = Sheets(feuilListeChantier).Cells(i, 2)
        u = u + 1
    End If
Next i

Sheets(feuilListeChantier).ListObjects("tabEnCours").Resize Range(Cells(debutLigneListeChantier - 1, 6), Cells(u - 1, 6))

Avec la fin un redimensionnement du tableau pour faire pointer correctement ma liste déroulante.

Merci encore !

Rechercher des sujets similaires à "liste deroulante"