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