Une cellule peut-elle posséder à la fois la validation et la validation des données en même time?

Fondamentalement, j'ai 2 cellules. L'un est une description de produit et l'un est un numéro de produit. La façon dont il existe maintenant, la description du produit est validée par des données et le numéro de produit est une search par description.

Ce que je veux arriver, c'est pouvoir searchr en fonction du numéro de produit ou de la description du produit, de sorte que, fondamentalement, si je sélectionne le numéro de produit dans une list déroulante, la description du produit est la search et si je sélectionne la description du produit dans une list déroulante, le numéro de produit est la search.

Est-ce possible ou est-ce que je pense à ce problème?

Répondre à une vieille question, car personne d'autre ne l'a fait précisément … Espérons que cela aide les autres aussi. En outre, consultez les commentaires dans le code.

Cela ne peut pas être fait avec Excel Formula & Validation car il créerait une reference circulaire [pas que vous ne pouvez pas modifier le nombre d'itérations circulaires, mais encore …]

Il est beaucoup plus simple dans VBA … Voici le code pour quiconque veut l'utiliser.

 Private Sub Worksheet_Change(ByVal Target As Range) Const sNumRng As Ssortingng = "$A$1" Const sDescRng As Ssortingng = "$B$1" '# both sListRngNum & sListRngDesc must be of the same size Const sListRngNum As Ssortingng = "$K$1:$K$4" Const sListRngDesc As Ssortingng = "$L$1:$L$4" '# EnableEvnent should be disabled first '# because the code will sortinggger it again '# by changing the next cell value Application.EnableEvents = False If Target.Address = sNumRng Then Range(sDescRng).Value = WorksheetFunction.Index(Range(sListRngDesc), _ WorksheetFunction.Match(Target.Value, Range(sListRngNum), 0)) ElseIf Target.Address = sDescRng Then Range(sNumRng).Value = WorksheetFunction.Index(Range(sListRngNum), _ WorksheetFunction.Match(Target.Value, Range(sListRngDesc), 0)) End If Application.EnableEvents = True End Sub 

Collez ce code dans le module Sheet de la feuille où vous voulez implémenter. Changez l'adresse de la gamme selon vos besoins. En outre, cela aurait pu être fait par un tableau dynamic, des collections, etc ..etc … mais c'est très simple 🙂