Utiliser l'INDIRECT avec un champ nommé dynamique?

bakubaku

XLDnaute Nouveau
Bonjour à tous,

J'ai dans une cellule (A7) le nom d'un champ nommé dynamique (D_Conv3)
Pour info la formule du champ nommé en question est:
OFFSET(Data!$N$7;0;0;COUNTA(Data!$N:$N)-5;1)
et le champ nommé ne contient que des chiffres

j''aimerais utiliser une formule SUMPRODUCT qui aille prendre le nom du champ nommé
donc logiquement je me dirigeais vers quelque chose comme ceci:
=SUMPRODUCT((INDIRECT(A7))

Mais vu que je reçois un #REF en retour, je me dis que Excel ne tolère pas le INDIRECT sur un champ nommé dynamique

est-ce qu'il y a un moyen de contourner le problème?
soit avec SUMPRODUCT soit avec autre chose?

merci d'avance
 

hoerwind

XLDnaute Barbatruc
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

Bonjour,

En mettant un extrait de ton fichier en pièce jointe tu auras plus de chances d'obtenir une réponse.
La plupart d'entre nous disposent d'une version française et comme Excel traduit automatiquement les noms des fonctions ... !
 

Tibo

XLDnaute Barbatruc
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

Bonjour,

Les quelques essais que j'ai fait amènent à la conclusion suivante :

Pour utiliser un nom dans le cadre d'un INDIRECT, il faut que le nom comporte une référence de cellule(s).

Si le nom contient une formule nommée ou une valeur, ça ne fonctionne pas.

Sans doute dommage...

@+
 

tototiti2008

XLDnaute Barbatruc
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

Bonjour à tous,

Sans doute dommage...

Oui, en effet, et difficile à comprendre...
D'autant qu'avec une fonction VBA qui fait la même chose qu'indirect, ça fonctionne

Code:
Function Indirect2(Ref As String) As Range
    Application.Volatile
    Set Indirect2 = Range(Ref)
End Function

Ce qui est assez bizarre, parfois on aimerait savoir comment sont programmées certaines fonctions Excel :confused:
 

bakubaku

XLDnaute Nouveau
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

voici un fichier en pièce jointe avec l'exemple en question

quand je fais le test en rentrant directement le nom du champ dans le sumproduct il n'y a pas de problème,
mais si je veux utiliser un indirect pour chercher ce meme nom dans une cellule, il a l'air de bloquer
 

Pièces jointes

  • test indirect.xlsx
    100.3 KB · Affichages: 78
  • test indirect.xlsx
    100.3 KB · Affichages: 80
  • test indirect.xlsx
    100.3 KB · Affichages: 76

tototiti2008

XLDnaute Barbatruc
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

Re,

@bakubaku : Tibo t'as bien confirmé que c'était une limitation de la fonction INDIRECT : ça ne fonctionne pas, car tes noms sont basés sur des formules
Solution : se baser sur des plages fixes (pas de formule pour le nom) ou utiliser la fonction Indirect2 que je t'ai mise dans mon dernier message
 

bakubaku

XLDnaute Nouveau
Re : Utiliser l'INDIRECT avec un champ nommé dynamique?

Re,

Effectivement le INDIRECT ne mène à rien

par contre on m'a indiqué une formule sur un autre forum qui me permet au final de contourner le problème:

=SUMPRODUCT(CHOOSE(MATCH(A7,Data!L$5:S$5,0),D_Conv1,D_Conv2,D_Conv3,D_Conv4))

merci pour vos suggestions et bon weekend!
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 765
dernier inscrit
Pi4