Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur d'un nom indirectement

7 réponses
Avatar
Jacky
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?
--
Salutations
JJ

7 réponses

Avatar
MichDenis
Bonjour Jacky,

Il y a au moins ceci :
Fonction personnalisée dans un module standard :

Function VNom(Rg As Range, Rg1 As Range)
VNom = Evaluate(Rg & Rg1)
End Function

Dans ta cellule : = VNom(A1;B1)



"Jacky" a écrit dans le message de groupe de discussion :
#
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?
--
Salutations
JJ
Avatar
isabelle
bonjour Jacky,

il y a la fonction EVAL de Morefunc,

=EVAL(A1&"_"&B1)

isabelle

Jacky a écrit :
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?



Avatar
garnote
Bonsoir,

Une autre suggestion, mais est-ce vraiment pratique ? :
1) Sélectionne C1
2) Insertion / Nom / Définir :
a) Nom : resultat
b) Fait référence à : =evaluer(A1&""&B1)
Ensuite, tu écris =resultat en C1
Si par la suite tu crées un autre nom ayant la même forme,
par exemple ma_var et que tu lui attribues la valeur 50;
alors tu pourras encore utiliser =resultat sous conditions.
Exemple :
Entre ma en K5, var en L5 et essaie =resultat^2+10 en M5.

Serge






"Jacky" a écrit dans le message de news:
%
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?
--
Salutations
JJ





Avatar
garnote
Avoir oublié tiret :
=evaluer(A1&"_"&B1)

"garnote" a écrit dans le message de news:

Bonsoir,

Une autre suggestion, mais est-ce vraiment pratique ? :
1) Sélectionne C1
2) Insertion / Nom / Définir :
a) Nom : resultat
b) Fait référence à : =evaluer(A1&""&B1)
Ensuite, tu écris =resultat en C1
Si par la suite tu crées un autre nom ayant la même forme,
par exemple ma_var et que tu lui attribues la valeur 50;
alors tu pourras encore utiliser =resultat sous conditions.
Exemple :
Entre ma en K5, var en L5 et essaie =resultat^2+10 en M5.

Serge






"Jacky" a écrit dans le message de news:
%
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?
--
Salutations
JJ









Avatar
Jacky
Bonsoir Isabelle, Denis, Serge

Isabelle, Serge
Merci à vous de vos propositions
Le destinataire final du classeur ne peut pas installer Morefunc sur son PC,
histoire d'autorisation.
Mais j'ai testé vos solutions sur ma bécane avec Morefunc d'installé.
A1=Ma
B1=Variable
J'ai comme réponse dans les 2 cas #NOM? :o((
A1=1
B1=5
La formule d'Isabelle modifiée =EVAL(A1&B1), Serge
=EVALUER(Feuil1!$A$1&Feuil1!$B$1)
Réponse 15
????????
'-------------
La fonction perso proposée par Denis fonctionne parfaitement.
J'ai pour mes besoins perso rajouté Application.Volatile
Une fois de plus ...Merci Denis
--

Salutations
JJ


"garnote" a écrit dans le message de news:

Bonsoir,

Une autre suggestion, mais est-ce vraiment pratique ? :
1) Sélectionne C1
2) Insertion / Nom / Définir :
a) Nom : resultat
b) Fait référence à : =evaluer(A1&""&B1)
Ensuite, tu écris =resultat en C1
Si par la suite tu crées un autre nom ayant la même forme,
par exemple ma_var et que tu lui attribues la valeur 50;
alors tu pourras encore utiliser =resultat sous conditions.
Exemple :
Entre ma en K5, var en L5 et essaie =resultat^2+10 en M5.

Serge






"Jacky" a écrit dans le message de news:
%
Bonsoir,

Je bute sur une récupération indirect de la valeur d'un nom
Je crée par insertion/nom/définir un nom disons "ma_variable"
Je lui attribue la valeur 100

Dans une cellule, je saisie =ma_variable
J'ai en retour 100
Jusque là pas de problème

Ce que je souhaite obtenir par:
en A1 = ma
en B1= variable
En C1= 100 (le résultat)
J'ai testé (entre-autres) en c1
=indirect(A1&"_"&B1) et j'ai comme résultat #Ref!

Il n'est pas gentil xl2003 avec moi
Y a t'il une solution ?
--
Salutations
JJ









Avatar
MichDenis
Bonjour Jacky,

| J'ai pour mes besoins perso rajouté Application.Volatile
| Une fois de plus ...Merci Denis

Comme la fonction personnalisée à des arguments (2 cellules)
elle devrait se mettre à jour dès que tu modifies l'un des 2
cellules. Non ? Si tu es d'accord, pourquoi faire usage de
Application.Volatile ?
Avatar
Jacky
Bonsoir Denis,
Si tu es d'accord, pourquoi faire usage de Application.Volatile ?



J'avais donné comme exemple 2 cellules pour simplifier la question.
C'est un classeur que j'ai en reprise et je dois modifier/rajouter quelques
fonctionnalités.
En réalité les 2 données sont issues et modifiées par 2 textbox et je me
retrouve avec des codes comme ceci
ActiveWorkbook.Names.Add Name:="SoldeReel_" & NouveauCompte,
RefersTo:=SoldeReel
ActiveWorkbook.Names.Add Name:="SoldeBancaire_" & NouveauCompte,
RefersTo:=SoldeBancaire
Et pour retrouver ses petits dans une feuille ou les "comptes" sont en ligne
et "SoldeReel"+:"SoldeBancaire" en colonne
Ta fonction fait le boulot, mais la modif dans la feuille n'était pas
immédiate, d'ou "le rajout" du volatile.
C'est pas facile de reprendre ce que d'autres ont fait, mais bon......

--
Salutations
JJ


"MichDenis" a écrit dans le message de news:

Bonjour Jacky,

| J'ai pour mes besoins perso rajouté Application.Volatile
| Une fois de plus ...Merci Denis

Comme la fonction personnalisée à des arguments (2 cellules)
elle devrait se mettre à jour dès que tu modifies l'un des 2
cellules. Non ? Si tu es d'accord, pourquoi faire usage de
Application.Volatile ?