Fonctions DECALER et INDIRECT

Résolu/Fermé
Hannah531142 - 9 janv. 2018 à 13:24
 Hannah531142 - 16 sept. 2018 à 20:02
Bonjour,
comment combiner ces 2 fonctions: le caractère dynamique de la fonction DECALER (ajustement des listes déroulantes suite ajout/suppression de données dans une cellule) et la fonction INDIRECT?
Dans mon cas, la fonction INDIRECT affiche un message d'erreur lorsque la source fait référence à une syntaxe contenant la fonction DECALER (=DECALER(Listes!$C$1;1;0;NBVAL(Listes!$C:$C)-1;1)
La fonction INDIRECT ne reconnaît apparemment pas la source contenant autre chose qu'une liste...
Merci pour votre aide.
A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié le 9 janv. 2018 à 14:30
Bonjour

la fonction INDIRECT transforme en adresse le texte contenu dans une cellule. Elle ne peut pas s'appliquer avec ce DECALER qui lui fait référence à une liste de longueur variable (NBVAL(Listes!$C:$C)-1) et pas à un texte unique.
si vous nous dites ce que vous voulez faire, on pourra peut être vous aider.

par exemple, votre formule peut être utilisée pour nommer un champ, avec un nom que vous pourrez ensuite utiliser directement sans passer par INDIRECT

à vous lire
crdlmnt


La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
Merci pour ce retour rapide, Vaucluse.
En bref, je suis responsable de diverses entités aux sein d'une entreprise. Le nombre d'entités est susceptible d'évoluer dans le temps, d'où l'intérêt de de la liste déroulante dynamique.
Parallèlement à cela, chaque entité est représentée par diverses personnes. Même particularité: nombre de personnes variable (liste déroulante dynamique).
Mon besoin: si, en cellule A1, le menu déroulant me fait choisir une des entités, j'aimerais qu'en cellule B1 par ex., la liste déroulante me propose la liste des personnes faisant partie de ladite entité. Et il faudrait que ces listes d'entités et de personnes liées à ces entités s'accommodent du caractère dynamique tellement pratique en cas de modifications.
En espérant avoir été clair!
Merci.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
9 janv. 2018 à 19:24
ce fichier en exemple de solution, mais tout dépend de votre base de données
voyez si ça vous inspire!

https://mon-partage.fr/f/4TH36Dn1/

etsi ça ne va pas, il faudrait en savoir plus sur vos données
si vous pouvez, déposez un modèle (en bidouillant les noms) ici:
http://mon-partage.fr
et revenz coller ici le lien créé sur le site

à vous lire?
crdlmnt
0
Hannah531142
16 sept. 2018 à 20:02
Bonsoir Vaucluse,
je m'adresse à nouveau à vous! Je suis toujours dans le même sujet. Ma demande ce jour consiste en ceci: je souhaite, au sein de la même feuille de calcul, créer 2 x ce que nous avons fait la dernière fois.
Je m'explique: le 1er menu déroulant (cellule A1 par ex.) me donne la liste des entités que je supervise, le second menu déroulant (cellule B1) ne m'affiche que les noms des collègues faisant partie de l'entité choisie. Le 3è menu déroulant (cellule C1) affiche la liste des catégories à couvrir et le 4è menu déroulant (cellule D1) n'affiche que les thèmes relatifs à la catégorie choisie en cellule C1.
Si l'explication ci-dessus est incompréhensible, je peux vous envoyer le classeur excel... mais ne suis pas certain si j'ai fait les choses correctement...

https://mon-partage.fr/f/cOBF717e/

Cordialement,
Hannah
0
Grand merci, Vaucluse.
La réponse a permis de résoudre le problème... mais quelle syntaxe!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
10 janv. 2018 à 07:26
bonjour
le but est de n'avoir qu'une formule pour l'ensemble des listes, mais on peut faire plus simple en utllisant décaler pour créer dans les champs nommés autant de listes que d'entité, nommées chacune avec le nom de l'entité. Dans ce cas la validation de second rang devient:
=INDIRECT(cell 1° rang)
Bonne route
crdlmnt
0