OVH Cloud OVH Cloud

pour eviter trop de si

5 réponses
Avatar
yan
Bonjour a toutes et tous
J'ai vu il y a peu quelque chose qui ressemble a ce que je voudrais faire
mais j'y arrive pas.
J'ai fais dans un coin de mon document un tableau(appelé code) de 2
colonnes.La 1er colonne contient des codes(nombres de 1 a 10)
La 2e colonnes contient des formules.
Dans un autre tableau (qui est mon document principal) je voudrais si je
mets un code en A1, avoir en B1 la formule qui correspond au code.
J'ai essayé : SI(A1=1;recherchev(A1;code;2)), j'obtient la valeur de la
formule du tableau code mais pas la formule elle même.
Si j'ai été suffisamment clair comment faire?
Merci
yannick

5 réponses

Avatar
Evita
Bonjour Yan,

Il me semble que tes formules entrées en colonne 2 doivent être entrées avec une
apostrophe (') devant le signe égal, ou sans signe égal du tout, afin qu'Excel les
considère comme du texte et non pas un calcul à effectuer.

J'ai testé en B1
=INDEX(code_tableau;EQUIV(A1;code_nombres;0);2)

En espérant que cela puisse t'aider,
Cordialement,
evit@


"yan" a écrit dans le message de news:
428caaee$0$824$
Bonjour a toutes et tous
J'ai vu il y a peu quelque chose qui ressemble a ce que je voudrais faire mais j'y
arrive pas.
J'ai fais dans un coin de mon document un tableau(appelé code) de 2 colonnes.La 1er
colonne contient des codes(nombres de 1 a 10)
La 2e colonnes contient des formules.
Dans un autre tableau (qui est mon document principal) je voudrais si je mets un code en
A1, avoir en B1 la formule qui correspond au code.
J'ai essayé : SI(A1=1;recherchev(A1;code;2)), j'obtient la valeur de la formule du
tableau code mais pas la formule elle même.
Si j'ai été suffisamment clair comment faire?
Merci
yannick




Avatar
yan
Merci de me répondre
j'ai mis sur cjoint ce bout de fichier
http://cjoint.com/?ftsa3HZ8XX
effectivement si je retire le signe = je récupère la formule, mais ce que je
voudrais en L6C2 c'est que la formule fasse le calcul
Dans cet exemple la somme de 8+5+7
Est-ce possible?
A+





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

Bonjour Yan,

Il me semble que tes formules entrées en colonne 2 doivent être entrées
avec une apostrophe (') devant le signe égal, ou sans signe égal du tout,
afin qu'Excel les considère comme du texte et non pas un calcul à
effectuer.

J'ai testé en B1
=INDEX(code_tableau;EQUIV(A1;code_nombres;0);2)

En espérant que cela puisse t'aider,
Cordialement,
evit@


"yan" a écrit dans le message de news:
428caaee$0$824$
Bonjour a toutes et tous
J'ai vu il y a peu quelque chose qui ressemble a ce que je voudrais faire
mais j'y arrive pas.
J'ai fais dans un coin de mon document un tableau(appelé code) de 2
colonnes.La 1er colonne contient des codes(nombres de 1 a 10)
La 2e colonnes contient des formules.
Dans un autre tableau (qui est mon document principal) je voudrais si je
mets un code en A1, avoir en B1 la formule qui correspond au code.
J'ai essayé : SI(A1=1;recherchev(A1;code;2)), j'obtient la valeur de la
formule du tableau code mais pas la formule elle même.
Si j'ai été suffisamment clair comment faire?
Merci
yannick








Avatar
yan
erratum: lire "Dans cet exemple la somme de 8+5+4"

"yan" a écrit dans le message de news:
428cb6e5$0$25026$
Merci de me répondre
j'ai mis sur cjoint ce bout de fichier
http://cjoint.com/?ftsa3HZ8XX
effectivement si je retire le signe = je récupère la formule, mais ce que
je voudrais en L6C2 c'est que la formule fasse le calcul
Dans cet exemple la somme de 8+5+7
Est-ce possible?
A+





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

Bonjour Yan,

Il me semble que tes formules entrées en colonne 2 doivent être entrées
avec une apostrophe (') devant le signe égal, ou sans signe égal du tout,
afin qu'Excel les considère comme du texte et non pas un calcul à
effectuer.

J'ai testé en B1
=INDEX(code_tableau;EQUIV(A1;code_nombres;0);2)

En espérant que cela puisse t'aider,
Cordialement,
evit@


"yan" a écrit dans le message de news:
428caaee$0$824$
Bonjour a toutes et tous
J'ai vu il y a peu quelque chose qui ressemble a ce que je voudrais
faire mais j'y arrive pas.
J'ai fais dans un coin de mon document un tableau(appelé code) de 2
colonnes.La 1er colonne contient des codes(nombres de 1 a 10)
La 2e colonnes contient des formules.
Dans un autre tableau (qui est mon document principal) je voudrais si je
mets un code en A1, avoir en B1 la formule qui correspond au code.
J'ai essayé : SI(A1=1;recherchev(A1;code;2)), j'obtient la valeur de
la formule du tableau code mais pas la formule elle même.
Si j'ai été suffisamment clair comment faire?
Merci
yannick












Avatar
PMO
Bonjour,

Une solution en VBA.
Ci-dessous un code de fonction à copier dans un module normal du VBE.

POUR L'UTILISER:
hypothèse1: Vous avez une zone nommée "code" sur 2 colonnes.
La 1ère colonne comporte des codes et la 2ème des formules.
Si vous êtes dans une feuille différente (on peut également dans la même
feuille)
et qu'en A2 se trouve un de vos codes tapez, par exemple en C2 la formule
¯FICHEFORMULE(A2;code)
(où A2 est la cible et où code est votre plage nommée)

hypothèse2: Vous n'avez pas de plage nommée.
Tapez alors la formule suivante (par exemple)
¯FICHEFORMULE(A2;Feuil1!B10:C13)
(où A2 est la cible et où Feuil1!B10:C13 est la plage B10:C13 de la feuille
Feuil1)

Si la plage de codes comporte plus de 2 colonnes ça renvoit une erreur.

CODE A COPIER
'****************
Public Function AFFICHEFORMULE(Cible As Range, ByVal Plage As Range) As String
Dim bool As Boolean
Dim C As Range
If Plage.Columns.Count <> 2 Then
AFFICHEFORMULE = CVErr(2015)
Exit Function
End If
For Each C In Plage
If C = Cible Then
AFFICHEFORMULE = C.Offset(0, 1).FormulaLocal
bool = True
Exit For
End If
Next C
If Not bool Then AFFICHEFORMULE = CVErr(2015)
End Function
'****************

Cordialement
--
PMO
Patrick Morange



Bonjour a toutes et tous
J'ai vu il y a peu quelque chose qui ressemble a ce que je voudrais faire
mais j'y arrive pas.
J'ai fais dans un coin de mon document un tableau(appelé code) de 2
colonnes.La 1er colonne contient des codes(nombres de 1 a 10)
La 2e colonnes contient des formules.
Dans un autre tableau (qui est mon document principal) je voudrais si je
mets un code en A1, avoir en B1 la formule qui correspond au code.
J'ai essayé : SI(A1=1;recherchev(A1;code;2)), j'obtient la valeur de la
formule du tableau code mais pas la formule elle même.
Si j'ai été suffisamment clair comment faire?
Merci
yannick





Avatar
Evita
Rebonjour yan,

Je n'ai pas réussi à transposer 'élégamment' la formule obtenue en un résultat de calcul.
J'ai trouvé tout de même une petite parade non automatisée, à voir sur:
http://cjoint.com/?fttuKMojv3

Désolée...
--
Au plaisir :-)
Evit@

Merci de me répondre
j'ai mis sur cjoint ce bout de fichier
http://cjoint.com/?ftsa3HZ8XX
effectivement si je retire le signe = je récupère la formule, mais ce que je voudrais en
L6C2 c'est que la formule fasse le calcul
Dans cet exemple la somme de 8+5+7
Est-ce possible?
A+