La fonction NON (NOT en anglais) est la plus simple des fonctions logiques : elle inverse une valeur booléenne. VRAI devient FAUX, et FAUX devient VRAI. C'est comme un interrupteur qui fait exactement le contraire de ce qu'on lui donne.
Pourquoi c'est utile ? Parce que parfois, il est plus naturel de raisonner par exclusion. Au lieu de lister tous les cas où tu veux agir, tu décris le seul cas à exclure : les clients qui ne sont pas à Paris, les employés qui ne sont pas en congé, les commandes qui n'ont pas encore été traitées. NON rend cette logique d'exclusion limpide, et elle devient redoutable quand tu la combines avec SI, ET ou OU.
Syntaxe de la fonction NON
=NON(valeur_logique)Comprendre chaque paramètre de la fonction NON
valeur_logique
: la valeur ou l'expression à inverserElle peut être une valeur logique directe (VRAI ou FAUX), une comparaison (A1>10), une fonction qui renvoie VRAI/FAUX (ESTVIDE(A1), ET(A1>5; B1<10)), ou un nombre (0 est traité comme FAUX, tout nombre non nul comme VRAI).
Tu peux aussi passer une référence de cellule contenant l'une de ces valeurs. La flexibilité de valeur_logique est ce qui rend NON si polyvalente : elle s'applique à n'importe quelle expression logique, quelle que soit sa complexité.
Astuce : NON est particulièrement puissante avec OU : =NON(OU(A1="Annulé"; A1="Suspendu")) sélectionne tous les statuts sauf "Annulé" et "Suspendu". C'est bien plus lisible que d'enchaîner plusieurs <>.
Pas envie d'écrire la formule NON à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur Excel : valider qu'un champ n'est pas vide
Tu crées un formulaire Excel et tu dois vérifier qu'un champ obligatoire a bien été rempli avant de valider. Plutôt que de tester si c'est vide, tu testes que ce n'est PAS vide : c'est exactement ce que fait NON(ESTVIDE(A2)).
| A | B | |
|---|---|---|
| 1 | Nom saisi | Validation |
| 2 | Jean Dupont | OK - Valide |
| 3 | Erreur - Requis | |
| 4 | Marie Martin | OK - Valide |
=SI(NON(ESTVIDE(A2)); "OK - Valide"; "Erreur - Requis")A2 contient Jean Dupont (non vide) : ESTVIDE retourne FAUX, NON l'inverse en VRAI, et SI affiche OK - Valide. A3 est vide : ESTVIDE retourne VRAI, NON le passe à FAUX, et SI affiche Erreur - Requis. A4 (Marie Martin) est à nouveau valide.
Astuce de pro : Cette approche est plus robuste que =SI(A1<>""; ...) car ESTVIDE distingue vraiment les cellules vides des cellules contenant une formule qui renvoie une chaîne vide.
RH : identifier les employés qui ne sont pas en congé
Tu dois envoyer un email à tous les employés présents, c'est-à-dire tous sauf ceux en congé. Au lieu de lister chaque statut valide (Bureau, Télétravail, Formation...), tu exclus simplement le seul cas à ignorer.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Statut | Envoyer email |
| 2 | Sophie | Bureau | Oui |
| 3 | Marc | Congé | Non |
| 4 | Julie | Télétravail | Oui |
| 5 | Pierre | Congé | Non |
=SI(NON(B2="Congé"); "Oui"; "Non")B2 contient Bureau : NON(Bureau=Congé) = VRAI, la formule affiche Oui. B3 contient Congé : NON retourne FAUX, la formule affiche Non. B4 (Télétravail) → Oui. B5 (Congé) → Non. Tout nouveau statut distinct de Congé sera automatiquement inclus.
Commercial : filtrer les prospects non contactés
Tu as une liste de prospects et la colonne Contacté contient des valeurs VRAI/FAUX. Tu veux identifier ceux qui n'ont jamais été contactés pour lancer une campagne de prospection.
| A | B | C | |
|---|---|---|---|
| 1 | Prospect | Contacté | À relancer |
| 2 | Entreprise A | VRAI | Non |
| 3 | Entreprise B | FAUX | Oui |
| 4 | Entreprise C | VRAI | Non |
| 5 | Entreprise D | FAUX | Oui |
=SI(NON(B2); "Oui"; "Non")B2 contient VRAI (Entreprise A déjà contactée) : NON retourne FAUX, la formule affiche Non (pas besoin de relancer). B3 contient FAUX (Entreprise B non contactée) : NON retourne VRAI, la formule affiche Oui. Même logique pour D et B.
Contrôleur de gestion : exclure plusieurs catégories à la fois
Tu analyses les dépenses opérationnelles et tu veux exclure les investissements et les charges exceptionnelles pour te concentrer sur les dépenses courantes. La combinaison NON + OU te permet d'exclure plusieurs catégories en une seule formule.
| A | B | C | |
|---|---|---|---|
| 1 | Dépense | Catégorie | Inclure analyse |
| 2 | 1 500 € | Fournitures | Oui |
| 3 | 25 000 € | Investissement | Non |
| 4 | 800 € | Déplacement | Oui |
| 5 | 5 000 € | Exceptionnel | Non |
=SI(NON(OU(B2="Investissement"; B2="Exceptionnel")); "Oui"; "Non")B2 = Fournitures : OU retourne FAUX (ni Investissement ni Exceptionnel), NON le passe à VRAI → Oui. B3 = Investissement : OU retourne VRAI, NON le passe à FAUX → Non. B4 = Déplacement → Oui. B5 = Exceptionnel → Non.
Astuces avancées avec NON
Simplifie les doubles négations
Si tu vois =SI(NON(A1<>10); ...) dans une formule, simplifie-la en =SI(A1=10; ...) : les deux sont identiques, mais la seconde est immédiatement lisible. Une double négation est toujours le signe qu'on peut réécrire la condition directement.
Avant d'imbriquer NON, demande-toi si l'opérateur inverse (<> au lieu de =, <= au lieu de >) ne suffit pas.
Combine NON avec ET pour des exclusions composites
NON peut inverser le résultat d'une condition ET complexe. =NON(ET(A1>100; B1="Paris")) sélectionne tout sauf les grandes commandes à Paris, sans avoir à décrire tous les autres cas.
Grâce aux lois de De Morgan, cette formule est strictement équivalente à =OU(A1<=100; B1<>"Paris") : choisis la version qui correspond le mieux à la façon dont tu penses le problème.
Utilise NON pour rendre les conditions négatives lisibles
Quand une condition naturelle s'exprime par une négation (« non traité », « pas encore validé », « jamais répondu »), NON rend ta formule aussi claire que ta pensée. =NON(ESTVIDE(A1)) se lit « non vide » : c'est immédiat, sans effort de décodage.
Réserve NON aux cas où la forme négative est la plus naturelle : si la condition positive est tout aussi simple, utilise-la directement.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction NON
Avec NON, les soucis ne viennent presque jamais d'un code d'erreur affiché, mais d'un résultat juste-mais-pas-celui-attendu. Le cas le plus fréquent : on la confond avec l'opérateur <>. Les deux donnent la même chose sur une comparaison simple, sauf qu'on ne peut pas inverser une fonction avec <> (impossible d'écrire =ESTVIDE(A1)<>VRAI).
L'autre surprise classique, c'est une cellule qui contient 0 : =NON(A1) renvoie alors VRAI, parce qu'Excel traite 0 comme FAUX et tout nombre non nul comme VRAI.
Confondre NON et l'opérateur <> pour les comparaisons simples
=NON(A1=5) et =A1<>5 donnent le même résultat sur une comparaison simple, mais NON devient indispensable pour inverser une fonction : tu ne peux pas écrire =ESTVIDE(A1)<>VRAI, tu dois écrire =NON(ESTVIDE(A1)).
Solution : Utilise <> pour les comparaisons de valeurs simples, et NON quand tu inverses le résultat d'une fonction ou d'une condition complexe.
Résultat inattendu quand la cellule contient 0
Si tu écris =NON(A1) avec A1=0, Excel retourne VRAI car 0 est traité comme FAUX en logique Excel. Avec A1=5, tu obtiens FAUX car tout nombre non nul est VRAI. Ce comportement surprend quand on ne le connaît pas.
Solution : Si tu veux tester qu'une cellule ne contient pas un nombre, utilise =NON(ESTNUM(A1)) plutôt que =NON(A1) : c'est plus explicite et ça évite les confusions avec les valeurs numériques.
Formule illisible avec plusieurs NON imbriqués
=SI(NON(NON(NON(A1))); ...) est difficile à lire. Trois NON s'annulent deux à deux, donc ça revient à =SI(NON(A1); ...). Les NON en nombre pair s'annulent complètement.
Solution : Si tu dois imbriquer plus d'un NON, c'est généralement le signe qu'il faut repenser la logique. Réécris la condition avec l'opérateur inverse ou restructure l'expression.
NON vs ET vs OU vs SI
Prends NON quand ta logique s'exprime le plus simplement par une exclusion : un seul cas à écarter, sans rien décider derrière. Dès que tu veux croiser plusieurs conditions, passe à ET (toutes vraies) ou OU (au moins une), et à SI quand le but est de renvoyer une vraie valeur, pas seulement VRAI ou FAUX.
En pratique NON joue rarement seule : elle s'imbrique dans un OU ou un ESTVIDE pour rendre la condition lisible, là où les autres se suffisent à elles-mêmes.
| Critère | NON | ET | OU | SI |
|---|---|---|---|---|
| Rôle | Inverse VRAI/FAUX | Toutes les conditions vraies | Au moins une condition vraie | Renvoie une valeur selon une condition |
| Nombre de paramètres | 1 seul | Jusqu'à 255 | Jusqu'à 255 | 3 (condition, si_vrai, si_faux) |
| Résultat | VRAI ou FAUX | VRAI ou FAUX | VRAI ou FAUX | Toute valeur |
| Usage typique | Exclure un cas | Combiner plusieurs conditions | Valider une alternative | Prendre une décision |
| Se combine avec | ET, OU, SI, ESTVIDE | NON, OU, SI | NON, ET, SI | Toutes les fonctions |
Questions fréquentes sur la fonction NON
Quelle est la différence entre NON et l'opérateur <> (différent de) ?
NON inverse une valeur logique (VRAI devient FAUX), tandis que <> compare deux valeurs. Par exemple, =NON(A1=5) et =A1<>5 donnent le même résultat pour les comparaisons simples.
Mais NON est indispensable pour inverser une fonction : tu ne peux pas écrire =ESTVIDE(A1)<>VRAI de façon lisible, alors que =NON(ESTVIDE(A1)) est immédiat. Utilise <> pour les comparaisons directes, NON pour les inversions de fonctions.
Peut-on utiliser NON avec des fonctions qui ne renvoient pas VRAI/FAUX ?
Oui. Excel convertit automatiquement les valeurs numériques : les nombres non nuls deviennent VRAI (que NON transforme en FAUX), et 0 devient FAUX (que NON transforme en VRAI).
Par exemple, =NON(A1) avec A1=5 retourne FAUX. C'est un comportement à connaître pour ne pas être surpris quand tu travailles avec des cellules contenant des nombres.
NON fonctionne-t-elle avec ESTVIDE ou ESTNUM ?
Oui, c'est même l'un de ses usages les plus courants. =NON(ESTVIDE(A1)) vérifie qu'une cellule n'est pas vide, et =NON(ESTNUM(A1)) vérifie qu'une cellule ne contient pas un nombre.
Ces combinaisons sont plus naturelles à lire que leurs équivalents positifs. Elles correspondent à la façon dont on formule souvent les conditions dans la réalité.
Peut-on imbriquer plusieurs NON ensemble ?
Oui, mais c'est rarement utile. =NON(NON(A1)) revient simplement à A1, car deux inversions s'annulent. Si tu vois plusieurs NON imbriqués dans une formule, c'est probablement le signe d'une erreur de conception.
En pratique, un seul niveau de NON suffit dans la grande majorité des cas. Si tu as besoin de plus, restructure ta logique.
Y a-t-il un équivalent de NON sans utiliser la fonction ?
Pour les comparaisons simples, oui : au lieu de =NON(A1=5), tu peux écrire =A1<>5. Plus généralement, tu peux souvent éviter NON en inversant l'opérateur de comparaison.
Mais pour inverser des fonctions comme ESTVIDE, ESTNUM ou le résultat d'un ET complexe, NON reste indispensable. En VBA, l'opérateur Not joue le même rôle.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

