XL 2016 Liste déroulante en cascade

laurine222

XLDnaute Nouveau
Bonjour,

Je sollicite votre aide sur un problème qui m'embête déjà depuis quelques jours !
Je n'ai pas réussit à résoudre mon problème avec les anciens topics.
Vous trouverez ci-joint le fichier sur lequel je travaille.

Je souhaiterais afficher dans "Type de défaut", les listes correspondantes au "mot clé défaut" sous forme de cascade. Ces listes se trouvent dans la feuille Paramètres.
Je voudrais pouvoir faire ça sur une grande quantité de lignes.

Pourriez-vous m'aider ?
Merci beaucoup !
 

Pièces jointes

  • Test.xlsx
    74.5 KB · Affichages: 18

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux créer des tableaux et les nommer comme l'entête.
Attention, impossible de mettre des espaces, des apostrophes, etc..
voir la fonction indirect des menus déroulants.
VB:
=INDIRECT(SUBSTITUE(SUBSTITUE(SUBSTITUE($A4;" ";"_");"/";"_");"'";"_"))

JHA
 

Pièces jointes

  • Test (2).xlsx
    82.3 KB · Affichages: 20

laurine222

XLDnaute Nouveau
Merci d'avoir pris le temps de me répondre !

Je ne comprends pas très bien cependant. Je dois :
1 . Créer un tableau dans la feuille Paramètres en reprenant le nom de mes entêtes.
2. Aller sur la feuille Test puis sélectionner la colonne B puis faire "Validation des données" et indiquer votre formule.

C'est bien cela ?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

La fonction indirect() ne s'applique pas sur des plages nommées dynamiques.

Pour parer à cela, il faut créer un tableau par colonne, si tu ajoutes des données, elles seront prises en compte dans la liste déroulante.
le nom du tableau sera le nom de la ligne 1 mais il te faut enlever les espaces entre les mots, les "/", les apostrophes, etc.. (attention pas d'espace à la fin du nom de la ligne 1)

Pour retrouver le nom du tableau avec la fonction indirect(), j'ai utilisé la fonction substitue pour remplacer les espaces par un Under score "_". De même pour les "/" et les apostrophes.
la colonne "A" de l'onglet "test" est par exemple "Absence de défauts" mais ton nom de tableau doit être "Absence_de_défauts"
C'est ce que fait substitue, elle remplace les " " par "_"
=INDIRECT(SUBSTITUE(SUBSTITUE(SUBSTITUE($A4;" ";"_");"/";"_");"'";"_"))

De ce fait on peut utiliser la fonction indirect pour la liste de validation des données et garder les noms des entêtes comme à l'origine.

J'espère que cela est plus clair pour toi.

JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Pour la liste déroulante en colonne "A" de l'onglet "Test"
tu peux modifier la formule comme suit:
VB:
=DECALER(Paramètres1!$A$1;;;;NBVAL(Paramètres1!$1:$1))
si tu ajoutes des données en ligne 1 de l'onglet "Paramètres1", elles seront prises en compte.

JHA
 

laurine222

XLDnaute Nouveau
Merci !
J'ai réussi les manips pour la colonne 1 dans mon vrai tableau de données excel !
Mais pour la colonne 2, j'ai ce message d'erreur "La source est reconnue comme erronée"
Pourtant j'ai bien suivi ce que vous m'avez dit de faire ...
D'où peut provenir le problème ?

Bonne journée
 

laurine222

XLDnaute Nouveau
J'ai cette formule pour la colonne Q :
=INDIRECT(SUBSTITUE(SUBSTITUE(SUBSTITUE($P3;" ";"_");"/";"_");"'";"_"))

capture 1.png

J'ai bien crée des tableaux pour chaque colonne.

capture 2.png
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Peux-tu me donner les noms des tableaux
col B: Absence de défauts
col C: Accro/Déchiré
Col E: Système de fermeture
pour cela tu cliques dans le tableau
dans le ruban onglet "Outils de tableau" puis création/nom du tableau
tu copies le nom et le colles dans ta prochaine discussion
exemple:
Absence_de_défauts
Accro___déchiré
Système_de_fermeture


JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je vois que tu mets des underscore "_" après chaque mot.
As-tu des espaces à la fin des noms d'en-têtes?
Si oui, regardes si tu as plusieurs espaces à la fin des noms ou sinon le mieux est de supprimer les espaces à la fin de ces noms.
Exemple:
"Usure " devient "Usure_" dans le nom du tableau
mais Usure avec deux espaces à la fin devient "Usure__" dans le nom du tableau .
Le mieux serait d'avoir "Usure" qui devient "Usure" dans le nom du tableau.

JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Bizarre, peux-tu refaire la formule dans Données/validation des données.
VB:
=INDIRECT(SUBSTITUE(SUBSTITUE(SUBSTITUE($A4;" ";"_");"/";"_");"'";"_"))
mais avant de mettre la formule assure-toi d'avoir sélectionné la cellule "B4" de l'onglet "Test".
Sinon, peux-tu poster un extrait de fichier de quelques lignes avec le problème rencontré.

JHA
 

Discussions similaires

Réponses
8
Affichages
182
Réponses
1
Affichages
121
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 270
Messages
2 086 681
Membres
103 370
dernier inscrit
pasval