Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

MACRO pour transformer les #N/A en zéro...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Melomie

XLDnaute Occasionnel
Bonjour tout le monde,

Je suis à la recherche d'une macro qui me transformerais tous les "#N/A" du document en "0". J'ai essayé mais Excel cherchait dans les formules et non dans les valeurs des cellules donc ça ne fonctionnait pas...
Je ne parviens pas à le faire chercher dans les valeurs!

Quelqu'un aurait-il la solution miracle?

Merci par avance
 
Re : MACRO pour transformer les #N/A en zéro...

Bonjour.
Essayez
VB:
Cells.SpecialCells(xlCellTypeConstants, xlErrors).Value = 0
Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Value = 0
À+
 
Dernière édition:
Re : MACRO pour transformer les #N/A en zéro...

Bonjour,

cette macro fonctionne sur une colonne sélectionnées (je préfère ça à toute la feuille)
Elle copie les valeurs en place puis remplace #n/A par ""
A toi d'adapter

VB:
 Sub rempl_NA()
'
' rempl_NA Macro

'
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Replace What:="#n/a", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
 
Re : MACRO pour transformer les #N/A en zéro...

Bonjour Mesdames, Messieurs

Pour ne prendre en compte que les #N/A

Code:
Sub SupprimerNA()
Dim c As Range, errval
For Each c In ActiveSheet.UsedRange
If IsError(c) Then
errval = c.Value
Select Case errval
Case CVErr(xlErrNA)
c = 0
End Select
End If
Next c
End Sub
 
Re : MACRO pour transformer les #N/A en zéro...

en fait j'ai 4 colonnes importantes:

le numero d'article, la qté à produire, son stock, et le reste à produire (qté - stock).
Le problème est que le stock est cherché dans un autre fichier excel à l'aide d'une rechercheV, or lorsque la formule ne trouve pas l'article en question, au lieu de mettre zéro elle met #N/A, le reste à produire est alors lui aussi #N/A...

C'est plus clair?

Je vais essayer les formules et si ça ne marche pas je vous le dirais... merci
 
Re : MACRO pour transformer les #N/A en zéro...

Bonjour
Pourquoi n'utiliseriez vous pas la fonction ESTNA dans les formules ? Du genre:
=SI(ESTNA(EQUIV(TClé;Arg;0));"";INDEX(Tval;EQUIV(TClé;Arg;0)))
Cordialement.
 
Re : MACRO pour transformer les #N/A en zéro...

@Dranreb: ça ne marche pas, le débogeur bloque sur cette ligne de code...



@Dugenou:
J'ai essayé comme ceci:


Columns("H:H").Select
selection.Copy
selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
selection.Replace What:="#n/a", Replacement:="0", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Mais ça ne marche pas, ça ne met plus aucune valeur...

Je vais essayer avec le code de TempusFugit et je vous dis
 
Re : MACRO pour transformer les #N/A en zéro...

@TempusFugit: ça ne fonctionne pas non plus, ça ne me met plus aucune valeur dans la colonne.

@Dranreb: je ne connaissais pas cette formule, je vais l'essayer

Merci !
 
Re : MACRO pour transformer les #N/A en zéro...

Bonjour,

merci de vérifier que tu affiches les valeurs 0 : outils/options/affichage : valeurs 0 coché

pour préciser ce que t'explique Dranreb :

=SI(ESTNA(ton recherchev);0;ton recherchev)
 
Re : MACRO pour transformer les #N/A en zéro...

Oui ils sont affichés, mais en fait ce n'est pas le code qui ne fonctionne pas c'est que ça a annulé ma fonction recherchev je ne sais pas pourquoi elle ne fonctionne plus et donc il n'y a plus de valeurs...
De plus je n'arrive plus à la refaire car quand je lance l'enregistreur de macro et que je lui dis d'ouvrir le 2e fichier (où on prend les données) il ne l'ouvre pas...

je vous tiens au courant de l'avancée des choses...

merci !
 
Re : MACRO pour transformer les #N/A en zéro...

=SI(ESTNA(ton recherchev);0;ton recherchev)
non, ce n'est que la recherche qui provoque le #N/A, pas la restitution de l'information associée.
A la rigueur: =SI(ESTNA(Un Equiv);0;ton recherchev)
Mais j'abhorre complètemement le RECHECHEV, jamais je ne l'utiliserai. Il n'y a que sur le 0 à place de "" que je suis d'accord.
Donc je ne voulais vraiment pas dire autre chose que:
=SI(ESTNA(EQUIV(OùÇa;Quoi;0));0;INDEX(CeQuJeVeux;EQUIV(OùÇa;Quoi;0)))
Il est m'est définitivement exclut de devoir un jour m'inquiéter de savoir à combien de colonnes de OùÇa se trouve CeQueJeVeux, je préfère le voir tout simplement spécifié !
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
509
Réponses
10
Affichages
646
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…