XL 2010 ERREUR DANS FORMULE ###

mcj1997

XLDnaute Accro
Bonjour,

J'ai un fichier avec beaucoup de formules comprenant INDEX et EQUIV, ce fichier va chercher des résultats dans d'autres fichiers et différentes feuilles, il arrive sans que je la sache qu'il y ait des changements de noms de colonne par exemple dans les fichiers sources. De ce fait lorsque j'ouvre mon fichier et que je fais la mise à jour, les valeurs ne remontent et c'est normal mais cela à pour effet de "détruire" mes formules en remplaçant les adresses notamment par des ####. Je recherche la solution pour préserver mes formules intactes même le fichier source présente des modifications, je n'aurai pas dans ce cas de résultats dans ma case mais je souhaite préserver ma formule car à chaque fois cela m'oblige à réécrire la formule entièrement.

Merci d'avance,
 

mcj1997

XLDnaute Accro
Merci, je vais tester ce que vous me proposé.
Je dois les réécrire partiellement car si les adresses déterminées dans la formule change même d'un nom, ainsi les adresses dans la formules qui ne sont pas trouvées sont remplacées par des ####.
Et à chaque fois car je tiens à garder les mêmes formules, je change les noms dans le fichier source et ressaisis la formule comme à l'origine.
 

Roblochon

XLDnaute Barbatruc
Bonjour,

Dans vos fichiers sources, essayez de nommer les plages de cellules sources et faites références à ces noms dans vos formules plutôt qu'aux adresses de plages de cellules.

Ce ne sera pas parfait, mais ça peut résoudre au moins partiellement votre problème.


Cordialement
 
Dernière édition:

mcj1997

XLDnaute Accro
Bonjour,

Merci pour votre retour, voici ce que devient ma formule lorsque le fichier source à été modifié :

=INDEX(#REF!;EQUIV(A5;#REF!;0);EQUIV("Moyenne";#REF!;0))

Je ne peux pas nommer les plages du fichier source car c'est un fichier que je reçois régulièrement.

Cordialement,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Une autre idée.
Dans une cellule vous mettez le nom du fichier et de la cellule à atteindre. ( par ex en A1)
Dans la formule vous remplacez l'adresse de cellule par INDIRECT(A1)
Il ne pourra rien "détruire" car dans A1 c'est une chaîne de caractères pas une adresse.
 

mcj1997

XLDnaute Accro
Bonsoir,
Une autre idée.
Dans une cellule vous mettez le nom du fichier et de la cellule à atteindre. ( par ex en A1)
Dans la formule vous remplacez l'adresse de cellule par INDIRECT(A1)
Il ne pourra rien "détruire" car dans A1 c'est une chaîne de caractères pas une adresse.


Merci pour le retour mais mon fichier comporte un grand nombre de formules que je ne vois pas doubler, cela ferait trop.
 

mcj1997

XLDnaute Accro
Bonjour,

Voici ma formule avant modification :


=INDEX('P:\CALCUL VENTE\[fichier source.xlsm]VOITURE'!$A$1:$BJ$172;EQUIV(A5;'P:\CALCUL VENTE\[fichier source.xlsm]VOITURE'!$A:$A;0);EQUIV(CH30;'P:\CALCUL VENTE\[fichier source.xlsm]VOITURE'!$B$1:$DD$1;0))

J'ai tenté à plusieurs reprises mais cela ne fonctionne pas, Est-ce que j'en mets de trop ? ex si je mets l'adresse dans A30 comme ci-dessous, cela ne fonctionne pas, peut-être ne faut il pas tout mettre ?

=INDEX(indirect(A30);EQUIV(A5;'P:\CALCUL VENTE\[fichier source.xlsm]VOITURE'!$A:$A;0);EQUIV(CH30;'P:\CALCUL VENTE\[fichier source.xlsm]VOITURE'!$B$1:$DD$1;0))

Merci d'avance,
 

mcj1997

XLDnaute Accro
=INDEX(INDIRECT(A31&"$A$1:$BJ$172");EQUIV(A5;INDIRECT(A31&"$A:$A");0);EQUIV(CH30;INDIRECT(A31&"$B$1:$DD$1");0))

voici ma formule au lieu de A1 c'est dans A31, au fur et à mesure que j'ai modifié la formule j'avais un résultat faux et lorsque j'ai rempli le dernier INDIRECT ... j'ai le message d'erreur #REF!
 
Dernière édition:
Haut Bas