[ EXCEL ] Éliminer les #REF !VALEUR et #N/A !

Éliminer les #REF !VALEUR et #N/A ! [ EXCEL ] - Windows & Software

Marsh Posté le 30-07-2002 à 20:10:56    

Jai des cellules qui on des liaisons avec d'autre feuille excel ( les cellules contienne une formule ) et quand la valeur n'existe pas dans l'autre feuille excel ... il me fou un #N/A ou un !VALEUR ...  
ce que jveux faire, c changer ce #N/A pour mettre 0 à la place SANS que je perde ma formule dans ma cellule.
 
C fesable ?

Reply

Marsh Posté le 30-07-2002 à 20:10:56   

Reply

Marsh Posté le 30-07-2002 à 20:27:34    

Oui, il me semble va voir dans les options de formules

Reply

Marsh Posté le 30-07-2002 à 20:34:41    

rajoute un "si" dans ta formule pour tester la présence de données sur l'autre feuille ou non...
 
=si(estvide(Feuil2!D3);0;A1+A2)
dans ce cas, tu testes si il y a qques chose dans le celulle D3 de la feuille 2, si c'est le cas, tu affiches 0, sinon tu effectues ton addition.
 
ceci est un exemple grossier, donne des détails si tu préfères :)
@+

Reply

Marsh Posté le 30-07-2002 à 20:38:01    

voici ma formule :
 
=RECHERCHEV(A72;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$C$2192;SI(RECHERCHEV(A72;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$C$2192;3;FAUX)=" ";" ";3);FAUX)
 
jtrouve pas sa bête ton SI ... as tu une idée dla syntaxe que jpourrais utiliser ?

Reply

Marsh Posté le 30-07-2002 à 20:44:03    

dans ton cas, tu as l'erreur si il n'y a rien en A72 dans ton autre fichier c'est ça ?
 
si oui, alors fais comme ça :
 
=SI(ESTVIDE(A72);0;RECHERCHEV(A72;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$C$2192;SI(RECHERCHEV(A72;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$C$2192;3;FAUX)=" ";" ";3);FAUX))
 
En fait, je test si A72 est vide ou pas
si c'est vide (vraiment rien dedans, ni formule si valeur), alors on met 0 en résultat, sinon on effectue ton calcul comme d'habitude
@+

Reply

Marsh Posté le 30-07-2002 à 20:45:09    

hum bon, en fait en relisant ton premier message, je crois pas que ce soit ce que tu cherches..
si ton fichier est pas top secret, tu peux toujours me l'envoyer, je jette un oeil vite fait
@+

Reply

Marsh Posté le 30-07-2002 à 20:46:18    

ben en fait ce qu'il fait c qu'il prend la valeur qui a dans A72 et il recherche dans l'autre feuille s'il y est
 
s'il ne trouve pas de résultat,c'est la qu'il me donne un #N/A

Reply

Marsh Posté le 30-07-2002 à 20:47:30    

heu non malheureusement jpeux pas te l'envoyer
c'Est un document dont je ne peux pas donner acces a tlm  :(

Reply

Marsh Posté le 30-07-2002 à 20:48:20    

alors ça c'est pas normal
c'est réglable avec une option de la recherchev normalement...
qui dit quoi faire si elle ne trouve pas la valeur exacte...
normalement, vu ta formule, ça devrait mettre FAUX quand il ne trouve pas la valeur...
tu veux pas faire passer tes fichiers car là c'est chaud de piger le truc en plein :p
 
edit : oki
tu peux pas nous le filer, mais avec des données bidon ?
juste 2 lignes


Message édité par blueteen le 30-07-2002 à 20:48:55
Reply

Marsh Posté le 30-07-2002 à 20:52:49    

attend moi 5 minutes jdois aller faire de koi et jte fait un exemple dak ?

Reply

Marsh Posté le 30-07-2002 à 20:52:49   

Reply

Marsh Posté le 30-07-2002 à 20:54:18    

oki
@ tout'

Reply

Marsh Posté le 30-07-2002 à 20:55:55    

donne moi ton mail, jvais te communiquer sa par la

Reply

Marsh Posté le 30-07-2002 à 20:58:08    

steve@kyxar.fr

Reply

Marsh Posté le 30-07-2002 à 21:26:06    

jtenvoi sa a l'instant  :)

Reply

Marsh Posté le 30-07-2002 à 22:09:07    

Regarde aussi les fonctions ESTNA et ESTERR

Reply

Marsh Posté le 30-07-2002 à 22:27:16    

ta pas un exemple de ta formule ?

Reply

Marsh Posté le 31-07-2002 à 12:47:35    

un truc du genre:
 
Si(ESTERR(ta_formule);0;1) * SI(ESTNA(ta_formule);0;ta_formule)
 
ne t'irait-il pas?

Reply

Marsh Posté le 31-07-2002 à 13:07:53    

patbasi > en faisant ça ça fait une erreur (référence circulaire) il me semble...
 
perso, je lui conseille de faire sa recherchev sur une autre feuille de son fichier, et ensuite à l'endroit où il veut afficher le résultat, il met sa formule avec sa condition (soit le résultat de la recherche est un chiffre et il l'affiche, soit le résultat est une erreur (testé avec "esterreur" ), et il affiche 0...
c'est un peu lourd car on passe par une étape intermédaire, mais ça marche :)
c'est clair qu'en VB ça doit bien se faire mais j'y connais rien...
@+

Reply

Marsh Posté le 31-07-2002 à 13:32:24    

ouais ben c sa ... ta solution blueteen regle une partie du probleme .. mais sa tu pouvais pas le savoir .. jte l'avais mentionné ...
voici je m'explique
 
3720 Actif 0,00 $  0,00 $ #N/A #N/A  
3740 Actif 201,00 $ 0,00 $ 201,00 $ 0,00 $

Reply

Marsh Posté le 31-07-2002 à 13:43:49    

Que cela ne marche pas spossible, mais référence circulaire je doute...

Reply

Marsh Posté le 31-07-2002 à 13:47:41    

tu parles de ta "BALANCE DE VÉRIFICATION RÉGULARISÉE" ?
 
si oui, en fait, c'est dû au fait que j'ai mis mes formules dans ces colonnes (et comme il au milieu il y a des #NA, ça foire :)
je te remail un doc avec la modif :)

Reply

Marsh Posté le 31-07-2002 à 13:48:04    

ouais ben c sa ... ta solution blueteen regle une partie du probleme .. mais sa tu pouvais pas le savoir .. jte l'avais mentionné ...
voici je m'explique
    A    B       C        D
A6 3720 Actif #N/A  #N/A    
A7 3740 Actif 201,00 $ 0,00 $  
 
Admettons que jai c 2 lignes la ok ... et ma formule (simplifié par blueteen ... un gros merci ! )
 
=RECHERCHEV(A6;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX)
La formule est dans la colonne C ( répété dans chaque cellule de C )
en gros la formule prend 3720 par exemple et elle recherche cette enregistrement la dans un autre document excel .. dans la colonne A
 
cette formule fonctionne correctemente, le probleme est le suivant : si la formule ne trouve pas 3720 dans l'autre document et bien il me met #N/A
 
Avec tout sa, jai un code VB qui effectue un traitement et il m'arrive de copier des lignes ... et pour bien faire il faudrait absolument que la formule demeure a la meme place ( colonne C )et qu'il y ait le traitement de l'erreur a l'intérieur de cette même cellule.
Blueteen et moi on a essayé mais on y est pas parvenu ... :(
Blueteen ma donné une solution mais pour y parvenir faudrait que jme créér une feuille temporaire... fesable mais chu curieux de savoir si on peut faire tout sa dans la meme cellule.
 
Un gros merci a tlm !
Si chu pas clair .. dite moi le !

Reply

Marsh Posté le 31-07-2002 à 14:04:36    

=SI(ESTERR(RECHERCHEV(A7;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX));0;1) * SI(ESTNA(RECHERCHEV(A7;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX));0;RECHERCHEV(A7;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX))
 
formule de patbasi
 
mais jcomprends pas l'erreur de référence circulaire :(
 
en fait jai pas d'erreur pour l'instant mais si sa peut en causer a longtemps terme jaimerais ben le savoir !

Reply

Marsh Posté le 31-07-2002 à 14:27:43    

comme je te le dis dans le mail, te bile pas pour la référence circulaire, c'est moi qui ait fait une erreur, cette formule marche :)
merci patbasi
par contre je propose juste une simplification
au lieu d'utiliser la formule "esterr", utilise "esterreur"
comme ça tu peux enlever un test dans la formule
En effet, esterreur, détecte aussi les erreur de type #NA
 
ce qui nous donne :

Code :
  1. =SI(ESTERREUR(RECHERCHEV(A7;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX));0;(RECHERCHEV(A7;'C:\mes documents\[BA209001R.xls]BA209001R'!$A$2:$D$6;3;FAUX)))

 
 
@+ :)

Reply

Marsh Posté le 31-07-2002 à 15:51:35    

ok mais cette formule marche seulement que pour les 6 premiere enregitrement .. pk ?

Reply

Marsh Posté le 31-07-2002 à 16:43:27    

c bon jai résolu mon prob ... :) merci a tout ceux qui ont contribué ! :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed