Formule à appliquer existe en texte dans une cellule à part

Résolu/Fermé
Signaler
-
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
-
Bonjour,

L'exemple simple :
je met 1 en A1
je met 2 en A2

dans A3 j'écris a1+a2
dans A4 j'écris =a3

Il va me rendre dans la cellule A3 : "a1+a2" , alors que j'aimerais qu'il comprenne "je veux que tu me calcules la valeur de A1 plus la valeur de A2" , donc que le résultat soit 3





En réel, j'ai concaténé du texte pour obtenir un lien complet en cellule A1 style " 'dossier\[nomfichier.xlsx]onglet'!B4 " ... et je veux pouvoir faire un " =A1 qui me rendre la valeur contenue dans la cellule du fichier excel "nomfichier" ...


Comment je peux faire ca ?

Merci d'avance

4 réponses

Messages postés
10192
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 décembre 2021
2 257
Bonjour

Je ne sais pas si on peut se passer de macro, mais voilà une solution simple pour la première partie de ta question, via vba
https://www.cjoint.com/?3GrrAeZajt8

Cordialement
Messages postés
26317
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
6 décembre 2021
6 134
Bonjour
si on se réfère à la 1° partie de la question, =A1+A2 font l'affaire,puisque la formule donnera bine 3 en A3 mais il n'y a aucune correspondance avec la deuxième partie, qui elle, nécessiterait quelques explications complémentaires
A vous lire?
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Bonjour,

pourquoi tu écris : je met 1 en A1
et plus bas :
En réel, j'ai concaténé du texte pour obtenir un lien complet en cellule A1 style " 'dossier\[nomfichier.xlsx]onglet'!B4 " ...

Juste pour embrouiller sinon l'explication était trop simple ?
Sinon dépose un fichier.

eric
Bonjour, et merci à tous de votre intéret :) .

J'ai vraiment fouillé le web et je n'ai rien trouvé, mais expliquer le problème est difficile pour moi.


Tout d'abord, eriiic , je m'excuse de pas avoir été clair .
Le fait est que j'ai 2 problèmes, mais les deux sont liés. Je vais réexpliquer plus calmement.

je met 1 en A1 
je met 2 en A2
dans A3 j'écris a1+a2
dans A4 j'écris =a3
Il va me rendre dans la cellule A4 : "a1+a2" , alors que j'aimerais qu'il comprenne "je veux que tu me calcules la valeur de A1 plus la valeur de A2" , donc que le résultat soit 3

Voici pour la première partie. Je me suis trompé en décrivant le problème. Je veux que quand je mette "=A3" (et en A3 j'ai le texte "a1+a2" ) il aille faire l'opération écrite en texte dans la cellule A3 , soit "1 + 2" , donc rendre "3" .

Pour mon 2e problème c'est sensiblement la même chose, sauf que le contenu de la cellule A3 serait une construction d'un lien vers une référence à une cellule dans un autre fichier excel. Exemple :
=CONCATENER(A1;A2;"[amandine.xlsx]Page1_1'!$E$7")
Qui devrait afficher au final 'C:\\dossier1\dossier2\[amandine.xlsx]Page1_1'!$E$7"


Je ne peux pas vous poster d'exemple pour le moment, mais si nécessaire je vous fais cela demain.
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Si tu veux en A4 le résultat de l'évaluation de la formule en A3 ça ne peut être fait que par macro.
En vba :
Function eval(cellule As Range) As Variant
    eval = Evaluate(cellule.Value)
End Function

Sans doute valable aussi pour ton pb 2, que tu pourrais aussi faire avec =indirect(A3)
https://www.cjoint.com/?DGsqFJSNp5e

eric

Merci Eric.

La fonction VB fonctionne .
La technique de la fonction "INDIRECT" (que je ne connaissais pas) fonctionne pas mal aussi. Je dois pouvoir combiner ceci avec STXT() , GAUCHE() , ou DROITE() pour me passer de VB. Ca complexifie la formule de base mais j'évite ainsi de prendre en charge les macros.

Je marque le sujet comme résolu, merci encore !
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Si c'est pour évaluer une formule et non une référence tu es obligé de passer par une macro. Que ce soit en vba ou en Excel4.
eric