Indirect et zone nommée DYNAMIQUEMENT

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vgendron

XLDnaute Barbatruc
Bonjour à tous,

j'ai un souci à vous soumettre.

j'utilise souvent des zones nommées définies de manière dynamique (avec fonction décaler)
dans le cas présent, je souhaiterai extraire le nieme élément (H4) de la zone dont le nom est en colonne G

je pensais que la fonction Indirect irait très bien.
=INDEX(INDIRECT(G6);$H$4) me renvoit #ref
alors que si je met le nom de la zone directement dans la formule
=INDEX(NomDyna;$H$4) ca va très bien..


maintenant. si je nomme la meme zone de facon statique (sans la fonction décaler): B2:B15
la fonction indirect va très bien.

j'en conclue que Indirect n'aime pas les zones nommées dynamiquement...

comment les réconcilier?
 

Pièces jointes

Re : Indirect et zone nommée DYNAMIQUEMENT

Bonjour vgendron,

Quand il s'agit d'une plage nommée il n'y a bien sûr pas de problème.

Autrement il faudrait que INDIRECT évalue le nom défini, ce qu'elle ne fait pas.

Seule une macro VBA ou la fonction macro Excel 4.0 EVALUER peut le faire.

Fichier joint avec la feuille Macro1...

A+
 

Pièces jointes

Re : Indirect et zone nommée DYNAMIQUEMENT

Bonsoir,

Un exemple de liste en cascade pour contourner l'incompatibilité de Indirect() avec les champs dynamiques.
On peut ajouter dynamiquement des items aux listes sans renommer les listes.

cf Listes en cascade avec Indirect() et listes dynamiques


JB


PS: Dans le cas soumis en #1, je ne vois pas l'intérêt du champ dynamique. Il suffit de définir des champs statiques avec 65000 lignes
 

Pièces jointes

Dernière édition:
Re : Indirect et zone nommée DYNAMIQUEMENT

Hello

@JB: dans le cas présent, il n'y a certes aucun interet, c'est juste pour ma culture perso..
mais on peut y voir un interet dans le cas ou sur la meme feuille, j'ai deux tableaux l'un en dessous de l'autre.
donc, en mettant une liste statique de 65000 lignes +/-20000 ;-) je serais embeté pour mes listes.
quant à ton site.. il est dans mes favoris depuis un certain temps ;-).. une vraie mine d'or..

@job:
la fonction evaluer. mais bien sur ! enfin. presque.. ;-)
je suppose que c'est une fonction personnalisée - et protégée?
parce que dans le fichier que tu as joint: onglet "Macro1", tu as écrit:

Code:
=INDEX(EVALUER(G6);$H$6)
ce qui me retourne bien la valeur escomptée..
cette fonction n'est semble t il pas volatile.. mais evènementielle sur un double clic de la cellule..


sauf que si je souhaite utiliser cette fonction evaluer dans un autre onglet que Macro1.. il me jette..

par contre. il me propose la fonction Eval..?

en tout cas merci !
 
Re : Indirect et zone nommée DYNAMIQUEMENT

Bonjour,


>je serais embêté pour mes listes.

S'il s'agit de listes pour menu déroulant, on peut ne prendre que les éléments remplis avec :

=DECALER(INDIRECT(NomListeStatique);;;NBVAL(INDIRECT(NomListeStatique)))


JB
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour