Remplacer #N/A

Gexk5

XLDnaute Occasionnel
Bonjour le forum,
Voici mon problème, je fais une recherche avec RECHERCHEV, cela fonctionne comme il faut, le problème est que je me retrouve avec des #N/A, donc je ne peux plus calculer ensuite, comment remplacer les #N/A par vide ou 0???
Merci de vos reponses, par macro ce serai le top sinon par formule , je ferai la macro

Merci d'avance

Voir fichier joint
 

Pièces jointes

  • RemplaceNA.xls
    14 KB · Affichages: 212

Tibo

XLDnaute Barbatruc
Re : Remplacer #N/A

Bonsoir,

Il faut traiter la cause.

Si la fonction RECHERCHEV retourne #N/A, c'est que la valeur cherchée n'a pas été trouvée dans la première colonne de ta base. On peut donc tester (avec NB.SI) le nombre de fois que la valeur cherchée est présente.

Ca donne ceci :

Code:
=SI(NB.SI($L$6:$L$36;A2)=0;"";RECHERCHEV(A2;$L$6:$M$36;2;FAUX))

@+
 

Etienne2323

XLDnaute Impliqué
Re : Remplacer #N/A

Salut Gexk5,
voici :
Code:
Sub Recherchev()
Dim i&, Col&, R1$, Plage_Reference$

Col = 2

For i = 2 To Cells(65536, 1).End(xlUp).Row
    R1 = Cells(i, 1).Address
    Plage_Reference = Range(Cells(6, 12), Cells(15, 13)).Address
    Cells(i, 3).Value = "=IF(ISERROR(VLOOKUP(" & R1 & "," & Plage_Reference & "," & Col & ",False)),"""",VLOOKUP(" & R1 & "," & Plage_Reference & "," & Col & ",False))"
Next i

End Sub

Cordialement,

Étienne

Édit : Salut Tibo, JCGL, GIBI. Vous êtes rapides ... ;) Bonne soirée à tous !
 
Dernière édition:

Gexk5

XLDnaute Occasionnel
Re : Remplacer #N/A

Re le forum,Tibo,JCGL,GIBI,ETIENNE
Merci de vos reponses, trop rapides et efficaces les forumeurs
Je vais tester tous ca dans mon fichier original, mais a premiere vue, testé sur mon exemple, la macro d'etienne est impec
Merci encore pour votre aide
 

JCGL

XLDnaute Barbatruc
Re : Remplacer #N/A

Bonjour à tous,

Etienne : un .Formula ne serait t'il pas plus adapté ?

Option Explicit

Sub Recherchev()
Dim i&, Col&, R1$, Plage_Reference$
Col = 2

For i = 2 To Cells(65536, 1).End(xlUp).Row
R1 = Cells(i, 1).Address
Plage_Reference = Range(Cells(6, 12), Cells(15, 13)).Address
Cells(i, 2).Formula = "=IF(ISERROR(VLOOKUP(" & R1 & "," & Plage_Reference & "," & Col & ",False)),"""",VLOOKUP(" & R1 & "," & Plage_Reference & "," & Col & ",False))"
Next i
End Sub

A+ à tous
 

Etienne2323

XLDnaute Impliqué
Re : Remplacer #N/A

Bonsoir à tous,
@ JCGL : effectivement, j'en conviens, le .formula serait plus élégant que le .value. Dans les faits, dans la boucle, est-ce qu'il y a une réelle différence entre les deux ? Un plus rapide que l'autre peut-être ?

Merci,

Étienne
 

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland