J'ai besoin d'un moyen simple de prendre une liste séparée par des virgules dans une cellule et de fournir une liste déroulante pour en sélectionner une.
Par exemple, la cellule peut contenir:
24, 32, 40, 48, 56, 64
Et dans une autre cellule, à l'aide de la validation des données, je souhaite fournir une liste déroulante pour sélectionner l'une de ces valeurs.
Je dois le faire sans VBA ou Macros s'il vous plaît.
Je souhaite que cela fonctionne avec Excel 2010 et les versions ultérieures.
Je me suis amusé à compter le nombre de virgules dans la liste, puis à le scinder en plusieurs rangées de nombres simples, etc. sans joie pour le moment.
Réponses:
Vous êtes sur la bonne voie en utilisant les virgules pour identifier les numéros individuels. Cela fonctionne pour 50 valeurs séparées par des virgules - si vous êtes dans Excel 2010, cela peut être étendu à 8 000 éléments (bien que, dans ce cas, je reconsidérerais probablement si c'était la meilleure façon de gérer le problème :)
Disons que votre liste de nombres est dans la cellule A2.
Si votre liste de nombres comporte des espaces après les virgules, effectuez une recherche et un remplacement pour les supprimer ou effectuez une substitution dans la cellule B2:
=SUBSTITUTE(A2," ","")
.Trouvons maintenant toutes les virgules. Dans la cellule C2, entrez
=SEARCH(",",$B2,1)
. Ceci trouve la position dans le texte de la première virgule.Dans D2, entrez une formule similaire mais légèrement différente pour trouver la prochaine virgule:
=SEARCH(",",$B2,C2+1)
Copiez ceci sur (disons) 50 colonnes. Cela vous mènera à la colonne AZ.
Maintenant, nous pouvons saisir chaque numéro individuel. Dans la cellule BA2, entrez
=IFERROR(LEFT(B2,C2-1),"")
. Ceci saisit tout le texte à gauche de la première virgule ou ne renvoie rien si la cellule est vide.Dans BB2 entrez
=MID($B2,C2+1,D2-C2-1)
pour tirer le numéro suivant ou ne rien renvoyer s'il n'y a pas de numéro dans cette position.Copiez BB2 dans 50 colonnes, cela vous mènera à la colonne CX.
Vous pouvez maintenant affecter la validation de votre cellule à la plage BA2: CX2, et chaque numéro apparaîtra dans votre liste déroulante.
la source
Dans Office 2010, j'ai été en mesure d'intégrer une liste numérique pour la validation des données sans utiliser de colonne de feuille de calcul en tapant ceci:
Selon vos besoins et si vous utilisez la bonne syntaxe, vous n’auriez peut-être pas besoin d’une colonne de feuille de calcul.
la source