Menu déroulant prérempli

Bonjour à tous

La question du jour: je cherche à obtenir un menu déroulant qui ne proposerait que les valeurs correspondantes au début d'un calcul.

Dans le fichier joint et ci-dessous en E1 j'ai le début d'une ref appartenant à la liste en A2:A20.

Je voudrais en F1 un menu déroulant ne proposant que les valeurs (de A) commençant par E1

image

Par exemple ici il ne proposerait que "D0851000007" et "D0851000008"

OU si c'est plus simple il ne proposerait que les B correspondant: "7" et "8" puisque finalement c'est que je cherche.

Bonjour,

En C2 :

=SIERREUR(TROUVE($F$1;A2;1);"")
capture

L'idée est belle mais il me faut vraiment un menu déroulant (sur colonne A ou B). Le fichier joint est un modèle allégé/simplifié parce qu'en réalité je travaille sur plusieurs feuilles.

La valeur en F1 est un calcul sur D1 et E1 récupérées d'une autre feuille, et la valeur qui sera récupérée en B ira compléter un rapport sur une (encore) autre feuille

Pour simplifier l'utilisateur donnera D1 et E1 et n'aura d'autre choix que parmi les valeurs commençant par F1.

Autre piste: par rapport à ce qu'Éric propose, comment transformer ce qu'il y aurait dans la colonne C en menu.

En Changeant la formule par =SIERREUR(SI(TROUVE($F$1;A2;1)=1;$A2;"");"") pour que la colonne C ne contienne que les A ayant le début.

Je regarde cette piste.

La réponse est sans doute dans cet exemple à adapter de Jacques Boisgontier :

Salut BenBeer,
Salut l'équipe,

en formules, moi pas capable, mais en VBA...
Résultat en cliquant sur [F1].

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim iRow1%, iRow2%
'
If Not Intersect(Target, [F1]) Is Nothing Then _
    Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Sort key1:=[A2], order1:=xlAscending, Orientation:=xlByRows, Header:=xlNo: _
    Target.Validation.Delete: _
    iRow1 = Columns("A").Find(what:=[E1], lookat:=xlPart, LookIn:=xlValues, searchdirection:=xlNext).Row: _
    iRow2 = Columns("A").Find(what:=[E1], lookat:=xlPart, LookIn:=xlValues, searchdirection:=xlPrevious).Row: _
    Target.Validation.Add Type:=xlValidateList, Formula1:="=A" & iRow1 & ":A" & iRow2 & ""
'
End Sub
8benbeer.xlsm (33.01 Ko)


A+

Bonjour…

Un exemple ave une fausse Liste de Validation et en passant par le VBA*

*On n’a pas l’environnement mais si celui-ci contient beaucoup de formules, le traitement peut être plus ou moins long.

Avec un mix des propositions d'Eric ça fonctionne:

- liste des valeurs correctes/possibles

- ramenées sans valeurs vides dans une autre colonne

- menu déroulant avec les valeurs de cette colonne

Merci à tous

Rechercher des sujets similaires à "menu deroulant prerempli"