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

Fonction INDIRECT avec formules variables

5 réponses
Avatar
HD
Bonjour,

Sur une feuille j'ai un tableau qui me donne une formule suivant 2
critères. Exemple: "0,567*d+9876".

Sur mes autres feuilles, je retrouve la formule via mes critères mais...
je ne parviens pas à effectuer le calcul.

Exemple, en cellule C1 j'ai la formule :
"B" & LIGNE())*0,567+9876
cette formule me provient d'un recherchev car elle peut varier suivant
certains critères.

En cellule B1 j'ai la valeur 200

En cellule D1 j'ai voulu utiliser cette formule:
=indirect("(" & C1)

Mais j'ai en retour #REF

La fonction INDIRECT ne semble pas apprécier les calculs "indirects"...

Je ne peux pas utiliser de simples fonctions SI car les formules peuvent
changer sur le tableau où se trouve les formules conditionnées par mes
critères.

Y'a-t-il une astuce pour s'en sortir ?

Vous en remerciant d'avance,

Cordialement,

HD

5 réponses

Avatar
DanielCo
Bonjour,
Je ne comprends pas pourquoi tu veux utiliser INDIRECT.
Cordialement.
Daniel

Bonjour,

Sur une feuille j'ai un tableau qui me donne une formule suivant 2 critères.
Exemple: "0,567*d+9876".

Sur mes autres feuilles, je retrouve la formule via mes critères mais... je
ne parviens pas à effectuer le calcul.

Exemple, en cellule C1 j'ai la formule :
"B" & LIGNE())*0,567+9876
cette formule me provient d'un recherchev car elle peut varier suivant
certains critères.

En cellule B1 j'ai la valeur 200

En cellule D1 j'ai voulu utiliser cette formule:
=indirect("(" & C1)

Mais j'ai en retour #REF

La fonction INDIRECT ne semble pas apprécier les calculs "indirects"...

Je ne peux pas utiliser de simples fonctions SI car les formules peuvent
changer sur le tableau où se trouve les formules conditionnées par mes
critères.

Y'a-t-il une astuce pour s'en sortir ?

Vous en remerciant d'avance,

Cordialement,

HD
Avatar
HD
Je ne comprends pas pourquoi tu veux utiliser INDIRECT.


Parce que j'aurai un grand nombre de feuille alors que mes formules se
trouveront sur une seule feuille. Cela me permettra de n'avoir à changer
les formules que sur cette feuille de formules si modification il y'a.

En fait, j'ai ma 1ère feuille avec les formules comporte une colonne
avec les chevaux fiscaux sur chaque ligne, et 3 autres colonnes avec les
formules suivant le kilométrage effectué. C'est pour une estimation du
montant de l'indemnité kilométrique au mois le mois.

Mes autres feuilles correspondront à mes collègues. Il auront un tableau
avec les mois, le nombre de kilomètres parcouru et les CV du véhicule
(au cas où il y'ai changement de véhicule pendant la période) durant ce
mois. Avec la fonction RechercheV je retrouve la formule correspondante
au nombre de CV et aux kilomètres parcourus. Ne me manque plus qu'à
"transformer" cette formule texte en formule "indirect" ou autres
(l"evaluate aurait probablement bien fonctionné mais je pensé me passer
de VBA).

Bonjour,

Sur une feuille j'ai un tableau qui me donne une formule suivant 2
critères. Exemple: "0,567*d+9876".

Sur mes autres feuilles, je retrouve la formule via mes critères
mais... je ne parviens pas à effectuer le calcul.

Exemple, en cellule C1 j'ai la formule :
"B" & LIGNE())*0,567+9876
cette formule me provient d'un recherchev car elle peut varier
suivant certains critères.

En cellule B1 j'ai la valeur 200

En cellule D1 j'ai voulu utiliser cette formule:
=indirect("(" & C1)

Mais j'ai en retour #REF

La fonction INDIRECT ne semble pas apprécier les calculs
"indirects"...

Je ne peux pas utiliser de simples fonctions SI car les formules
peuvent changer sur le tableau où se trouve les formules
conditionnées par mes critères.

Y'a-t-il une astuce pour s'en sortir ?

Vous en remerciant d'avance,

Cordialement,

HD
Avatar
DanielCo
Bonjour,
Avec 0,567 en C5, 9876 en C6 :
=INDIRECT("B"&LIGNE())*INDIRECT("C5")+INDIRECT("C6")
Cordialement.
Daniel
Je ne comprends pas pourquoi tu veux utiliser INDIRECT.


Parce que j'aurai un grand nombre de feuille alors que mes formules se
trouveront sur une seule feuille. Cela me permettra de n'avoir à changer les
formules que sur cette feuille de formules si modification il y'a.

En fait, j'ai ma 1ère feuille avec les formules comporte une colonne avec les
chevaux fiscaux sur chaque ligne, et 3 autres colonnes avec les formules
suivant le kilométrage effectué. C'est pour une estimation du montant de
l'indemnité kilométrique au mois le mois.

Mes autres feuilles correspondront à mes collègues. Il auront un tableau avec
les mois, le nombre de kilomètres parcouru et les CV du véhicule (au cas où
il y'ai changement de véhicule pendant la période) durant ce mois. Avec la
fonction RechercheV je retrouve la formule correspondante au nombre de CV et
aux kilomètres parcourus. Ne me manque plus qu'à "transformer" cette formule
texte en formule "indirect" ou autres (l"evaluate aurait probablement bien
fonctionné mais je pensé me passer de VBA).

Bonjour,

Sur une feuille j'ai un tableau qui me donne une formule suivant 2
critères. Exemple: "0,567*d+9876".

Sur mes autres feuilles, je retrouve la formule via mes critères mais...
je ne parviens pas à effectuer le calcul.

Exemple, en cellule C1 j'ai la formule :
"B" & LIGNE())*0,567+9876
cette formule me provient d'un recherchev car elle peut varier suivant
certains critères.

En cellule B1 j'ai la valeur 200

En cellule D1 j'ai voulu utiliser cette formule:
=indirect("(" & C1)

Mais j'ai en retour #REF

La fonction INDIRECT ne semble pas apprécier les calculs "indirects"...

Je ne peux pas utiliser de simples fonctions SI car les formules peuvent
changer sur le tableau où se trouve les formules conditionnées par mes
critères.

Y'a-t-il une astuce pour s'en sortir ?

Vous en remerciant d'avance,

Cordialement,

HD
Avatar
HD
Avec 0,567 en C5, 9876 en C6 :
=INDIRECT("B"&LIGNE())*INDIRECT("C5")+INDIRECT("C6")



Cette solution fonctionne bien si le calcul s'apparente toujours à d *
0,567 + 9876 mais si demain le calcul change et devient d * 0,567 + 9876
/ d ou toute autre formule cela ne fonctionnera plus...

Je cherchais en fait une solution qui soit valable quelque soit la
formule tapée dans ma feuille des formules. Je pense qu'il doit y avoir
une solution avec Excel (sans passer par le vba) mais... je n'arrive pas
à la trouver.

@+
HD
Avatar
DanielCo
Prévois 15 cellules dans lesquelles tu mettras 0, 15 pour les multiplicationset
autant pour les divisions dans lesquelles tu mettras 1 et ajoute autant de
fonctions INDIRECT à ta formule. Sinon, fais une fonction VBA.
Daniel

Avec 0,567 en C5, 9876 en C6 :
=INDIRECT("B"&LIGNE())*INDIRECT("C5")+INDIRECT("C6")



Cette solution fonctionne bien si le calcul s'apparente toujours à d * 0,567
+ 9876 mais si demain le calcul change et devient d * 0,567 + 9876 / d ou
toute autre formule cela ne fonctionnera plus...

Je cherchais en fait une solution qui soit valable quelque soit la formule
tapée dans ma feuille des formules. Je pense qu'il doit y avoir une solution
avec Excel (sans passer par le vba) mais... je n'arrive pas à la trouver.

@+
HD