nommer une formule valide indifféremment dans plus

_Enzo

XLDnaute Nouveau
Bonjour,

Je souhaite, quand je nomme une formule, que le nom de la feuille active n'apparaisse pas dans la formule parce que je veux pouvoir appliquer ce nom et donc sa formule à plusieurs feuilles. Or quand je tape ma formule, le nom de la feuille active apparaît automatiquement.
la formule que je veux: RECHERCHEV(B1;LISTE!$A:B;2;0)
Je souhaite pouvoir mettre cette formule nommée dans différentes feuilles (par exemple dans la cellule C1 de la feuil1, de la feuil2,…
Mais quand je nomme ma formule je ne peux empécher qu'elle apparaisse ainsi: RECHERCHEV(Feuil1!B1;liste!$A:B;2;0)
J'ai trouvé un peu la réponse à ma question en mettant un point d'exclamation seul avant la cellule: RECHERCHEV(!B1;liste!$A:B;2;0)
De cette façon la formule fonctionne dans les différentes feuilles où je tape son nom, mais si je change la cellule B1, le calcul ne se fait pas ou se fait aléatoirement. Je n'explique pas du tout pourquoi le calcul parfois se fait et parfois pas
J'ai essayé sur plusieurs PC et le résultat est le même
 

andré

XLDnaute Barbatruc
Salut _Enzo,

C'est une question que je ne m'étais jamais posée !
Effectivement, il n'y a pas moyen.

Toutefois, ... j'ai essayé la formule:
=EVAL('=RECHERCHEV($B$1;A:B;2;0)')
que j'ai nommée 'form'.

Et cela fonctionne !

Deux remarques :

La fonction EVAL est une macro complémentaire que j'ai téléchargée quelque part, mais je ne sais plus où !
Si quelqu'un avait l'amabilité de fournir cette précision, ce serait gentil.

J'ai essayé :
=EVAL('=RECHERCHEV($B$1;Liste!A:B;2;0)')
Mais cela n'a pas l'air de vouloir fonctionner, et je ne sais vraiment pas pourquoi.

Voilà où j'en suis, je continue à chercher une mise au point de la dernière formule, celle que tu souhaites.

Je te joins un petit exemple, ce sera plus facile pour comprendre.

Â+






[file name=Enzo_V1.zip size=2023]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Enzo_V1.zip[/file]
 
E

_enzo

Guest
oui ça fonctionne mais j'ai constaté qu'en fait la formule attachée au nom est différente dans toutes les feuilles, le nom de la feuille active apparaît dans la formule.
Ce qui fait que si je veux changer la formule, je devrais la changer feuille par feuille.

est ce que c'est le cas pour toi aussi?
 

Monique

Nous a quitté
Repose en paix
Re,

Je me demande si on parle de la même chose

Chez moi, ça marche.
J'ai nommé 'Form' la formule
=SOMME(Feuil1!$A$2:$A$20)

Puis j'ai dupliqué la feuil1
Ce qui m'a donné 3 fois la formule nommée,
mais avec des références différentes :
Form =SOMME(Feuil1!$A$2:$A$20)
Form =SOMME(Feuil2!$A$2:$A$20)
Form =SOMME(Feuil3!$A$2:$A$20)

J'ai écrit cette formule dans une des feuilles :
=SI(A1=0;Form;Form*2)

Je l'ai copiée puis collée dans les 2 autres feuilles,
elle donne, dans chaque feuille, le résultat de la feuille où elle est placée
Et elle est écrite exactement de la même manière dans les 2 feuilles où elle a été collée

Si tu écris la formule comme ça :
=SI(Feuil1!A1=0;Form;Form*2)
Le 'Feuil1!' va être aussi copié dans toutes les feuilles
 

Gael

XLDnaute Barbatruc
Bonjour Enzo, bonjour Monique, bonjour André,

J'ai justement une application avec beaucoup de formules nommées et lorsque 2 feuilles ont la même structure, la formule nommée se modifie en fonction de la feuille utilisée.

Exemple, j'ai défini la formule suivante dans la feuille Budget:

BQT =DECALER(Ventes!$G$2;EQUIV(CTXT(Budget!$A2;0;VRAI);Ventes!$A:$A;0)-2;EQUIV(DATEVAL('01/01/'&Ancours);Ventes!$G$1:$AP$1;0)-1;1;Moiscours)

Si je me positionne dans la feuille 'Budget Affiné' qui a la même structure, je fais insertion nom définir pour voir les formules et dans ce cas j'obtiens:

BQT =DECALER(Ventes!$G$2;EQUIV(CTXT('Budget affiné'!$A5;0;VRAI);Ventes!$A:$A;0)-2;EQUIV(DATEVAL('01/01/'&Ancours);Ventes!$G$1:$AP$1;0)-1;1;Moiscours)

Budget s'est modifié en 'Budget affiné' et je peux utiliser ma formule dans l'une ou l'autre des feuilles, ça marche très bien.

quand je fais insertion nom définir à partir de la feuille budget, la liste des formules nommées apparaît normalement mais si je me positionne sur la feuille budget affiné, certains noms de formules apparaissent avec à droite le nom de la feuille active.

Il y a donc bien une adaptation automatique des noms de feuilles dans les formules dans certains cas.

Pour André, il s'agit de la macro Morefun que tu peux télécharger à l'adresse suivante:

Adresse du téléchargement : Ce lien n'existe plus
nom de la macro: morefun.xll

@+

Gael
 
E

_enzo

Guest
Bonjour André, Monique et Gael

Merci pour vos réponses

En fait ce que j'aurais souhaité, Monique, c'est que quand j'ai un changement à faire sur la formule qui porte le nom 'form' dans ton exemple, que ce changement s'applique directement à tous mon fichier.
Or dans ton exemple, si j'ai bien compris, je dois faire le changement feuille par feuille. N'est ce pas Gael?

André j'étudie la formule avec EVAL........
Merci Gael pour la source

à+
 

Gael

XLDnaute Barbatruc
Re,

Dans le fichier joint, j'ai fait la manip suivante:

Création d'une liste de villes avec des codes de 1000 à 1...
création d'une formule de recherche qui donne le nom de la ville en fonction du code en colonne A de la ligne utilisée.

J'ai nommé cette formule Rech

J'ai dupliqué la feuille 2 fois

J'ai changé les noms de villes dans les feuilles 2 et 3

La formule rech marche dans chaque feuille
elle n'existe qu'une fois dans insertion nom définir

le nom de la feuille acive apparaît dans la liste des formules sauf pour la feuille initiale et les noms de feuilles sont modifiés automatiquement.

Qu'en penses-tu?

@+

Gael [file name=Recherche_20050930184002.zip size=3779]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Recherche_20050930184002.zip[/file]
 

Pièces jointes

  • Recherche_20050930184002.zip
    3.7 KB · Affichages: 14
E

_enzo

Guest
Oui mais tu es d'accord Gaël que si je veux changer la formule qui porte le nom 'Rech' le changement ne se fera que dans la feuille active. Si je veux que le changement s'applique à tout mon fichier, je dois faire le changement dans mes feuilles une à une.
En fait je travaille sur un fichier qui a une vingtaine de feuilles (une par salarié) et j'aurais aimé pouvoir faire le changement une seule fois pour tout mon fichier.

à+
 
E

_enzo

Guest
Effectivement André ta fonction est interessante, l'inconvénient c'est que je ne peux pas étirer la formule.

Je m'explique: dans ton exemple je remplacerai dans ta formule B1 par A10 et j'ai besoin d'étirer la formule jusqu'à la ligne 22. Mais la recherche reste sur A10 et c'est le hic!

qu'en penses tu?

à+

Enzo
 

Gael

XLDnaute Barbatruc
rebonjour,

En fait j'ai fait la même manip que Monique et obtenu le même résultat.

Lors d'une duplication de feuille, excel conserve en mémoire les différentes formules mais comme elles ont le même nom, il n'affiche que celles correspondant à la feuille active.

On peut créer dans une feuille une formule avec un nom déjà existant, elle ne sera appliquée qu'à la feuille active.

La seule solution qui fonctionne chez moi pour une nouvelle formule ou une modification est de supprimer les noms de feuille en ne laissant que les '!', comme tu l'as déjà fait.

Si les formules ont été dupliquées initialement, il faut les supprimer puis créer une formule générale sans les noms de feuille, qui va s'appliquer à toutes les feuilles.

@+

Gael
 

Discussions similaires

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet