Valeur d'un nom indirectement

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19944831
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" #
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
isabelle
Le #19945021
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 ?



garnote
Le #19945181
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" %
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





garnote
Le #19945171
Avoir oublié tiret :
=evaluer(A1&"_"&B1)

"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" %
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









Jacky
Le #19950301
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"
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" %
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









MichDenis
Le #19950521
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 ?
Jacky
Le #19950861
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"
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 ?



Publicité
Poster une réponse
Anonyme