Quand j'utilisais Visual Basic pour ACCES, il y avait une fonction très utile : la fonction NZ.
Cette fonction permettait de substituer toutes les valeurs d'erreur par une valeur valide.
Le code ci-dessous à introduire dans une macro ou un module fait la même chose et reste utilisable comme fonction de feuille de calcul ... j'espère...
Fonction NZ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Function NZ(ByVal ValeurTestée As Variant, Optional ByVal ValeurRenvoyée As Variant = 0) As Variant 'Toutes les erreurs renvoient "ValeurRenvoyée" On Error GoTo NZERR 'Teste "ValeurTestée" et détermine si elle une ERREUR, NULL, VIDE 'Si OUI renvoie ValeurRenvoyée If IsError(ValeurTestée) Then GoTo NZERR If IsNull(ValeurTestée) Then GoTo NZERR If IsEmpty(ValeurTestée) Then GoTo NZERR If Len(ValeurTestée) = 0 Then GoTo NZERR 'Si NON renvoit "ValeurTestée" NZ = ValeurTestée GoTo NZExit NZERR: NZ = ValeurRenvoyée NZExit: End Function
Nz(ValeurTestée ; ValeurRenvoyée)
ValeurTestée (obligatoire)= Toute valeur ou référence de cellule
ValeurRenvoyée (facultatif)= Toute valeur ou référence de cellule
Par défaut NZ renvoie valeur 0 zéro
Par exemple :
=NZ(8/0;C3+C4) ' 8/0 est une valeur d'erreur #Div/0!, NZ renvoie le résultat de la cellule C3+C4
=NZ(A1;"TEXTE") 'Si A1 contient une valeur d'erreur, NZ renvoie "TEXTE"
=NZ(A1;10) 'Si A1 contient une valeur d'erreur, NZ renvoie 10
=NZ(SOMME(A1: D5);-1) 'Si SOMME(A1: D5) contient une valeur d'erreur, NZ renvoie -1
=NZ(A1) ' renvoi 0 zéro par défaut si A1 contient une valeur d'erreur
Aussi :
NZ(ValeurCherchée;ValeurRenvoyée) est équivalent aux fonctions ESTERR ESTVIDE ESTNA
Parconséquent le résultat devrait être le même pour ces fonctions:
=SI(ESTNA(A1);"AUTRE VALEUR";A1)
=SI(ESTVIDE(A1);"AUTRE VALEUR";A1)
=SI(ESTERR(A1);"AUTRE VALEUR";A1)
=SI(A1="";"AUTRE VALEUR";A1)
que pour :
=NZ(A1;"AUTRE VALEUR")
Enjoy this CODE for FREENZ reconnait #DIV/0!
NZ reconnait #N/A
NZ reconnait #NOM?
NZ reconnait #VALEUR!
NZ reconnait =""
NZ reconnait cellule vide
Partager