- SI(test; valeur_si_vrai; valeur_si_faux) fait choisir une valeur à Excel selon un test ; ce test peut combiner plusieurs conditions avec ET (toutes vraies) et OU (au moins une vraie).
- Les textes se mettent entre guillemets, les nombres et les références non ; les comparaisons utilisent =, <>, <, >, <=, >=.
- Un SI qui renvoie « OK » ou « À valider » transforme un tableau passif en tableau de contrôle : un coup d’œil, plus besoin de relire ligne à ligne.
- Les taux, seuils et libellés d’un test ne s’écrivent pas en dur dans la formule : mettez-les dans la feuille Paramètres (épisode 10).
Jusqu’ici, nos formules calculaient toujours la même chose pour chaque ligne. Mais la comptabilité est pleine de règles : « si le montant dépasse 10 000, il faut une validation », « si le client est exonéré, pas de TVA », « si la ligne est au débit, on la classe ici, sinon là ». La fonction SI donne à Excel la capacité de choisir, et ses deux alliées ET et OU de combiner des conditions.
Ce que vous saurez faire à la fin de l’épisode
- écrire un test avec les opérateurs de comparaison ;
- utiliser SI pour renvoyer un texte, un nombre ou un calcul ;
- combiner des conditions avec ET, OU, NON ;
- construire une colonne de contrôle qui signale ce qui mérite attention ;
- éviter les erreurs de guillemets et de logique les plus fréquentes.
La fonction SI
=SI(test_logique; valeur_si_vrai; valeur_si_faux) (anglais : IF)
Excel évalue le test : s’il est vrai, il renvoie le deuxième argument, sinon le troisième. Le test est une comparaison qui donne VRAI ou FAUX.
| Opérateur | Sens | Exemple |
|---|---|---|
= |
égal à | B2="Oui" |
<> |
différent de | B2<>"Oui" |
> / < |
supérieur / inférieur | B2>10000 |
>= / <= |
supérieur ou égal / inférieur ou égal | B2>=50000 |
Premier exemple, un classement : =SI(D2>=0;"Débit";"Crédit") affiche « Débit » pour un solde positif et « Crédit » pour un solde négatif. Deuxième exemple, un calcul : =SI(B2>5000;B2*3%;0) renvoie 3 % du montant au-delà de 5 000, sinon 0.
Règles d’écriture à retenir :
- un texte se met entre guillemets (
"Oui"), un nombre non, une cellule non ; - les trois arguments sont séparés par des points-virgules ;
- vous pouvez omettre le troisième argument : Excel renvoie alors FAUX, ce qui est rarement ce qu’on veut ; écrivez toujours
""(texte vide) si vous voulez une cellule vide.
ET, OU, NON : combiner les conditions
Figure 1 : tableau de vérité. Les colonnes A et B contiennent des tests (par exemple 5>3, qui vaut VRAI) ; la colonne D le résultat de la fonction de la colonne C.
=ET(test1; test2; …)renvoie VRAI si tous les tests sont vrais. Avec un test VRAI et un test FAUX : FAUX.=OU(test1; test2; …)renvoie VRAI si au moins un test est vrai. Avec un VRAI et un FAUX : VRAI.=NON(test)inverse : NON(FAUX) vaut VRAI.
Elles se placent dans le premier argument de SI : =SI(ET(B2>10000; D2="Non"); "À valider"; "OK"). Elles s’emboîtent aussi : =SI(ET(B2>0; OU(C2="x"; C2="y")); …).
Le cas : contrôler les achats du mois
Atlas Négoce vérifie le journal des achats avant de payer. Deux règles : (1) toute dépense de plus de 10 000 MAD HT doit avoir été approuvée ; (2) le taux de TVA retenu pour le transport routier et la restauration est de 10 %, 20 % pour le reste (taux simplifiés pour l’exercice ; en pratique, chaque opération se qualifie séparément, voir l’article sur les taux de TVA 2026).
Figure 2 : huit achats. Repère 1 : le taux est choisi par
SI(OU(…)) ; repère 2 : le contrôle signale la seule ligne à valider.
Colonne E, le taux de TVA (repère 1), pour la première ligne :
=SI(OU(C2="Transport"; C2="Restauration"); 10%; 20%)
« Si la catégorie est Transport ou Restauration, 10 %, sinon 20 % ». Sur notre journal : Transports Rif et Restaurant Al Bahr sont à 10 %, les six autres lignes à 20 %.
Colonne F, la TVA : =B2*E2. Pour les huit lignes : 2 500,00 ; 690,00 ; 820,00 ; 190,00 ; 3 000,00 ; 156,00 ; 4 400,00 ; 2 000,00, soit 13 756,00 au total.
Colonne G, le contrôle (repère 2) :
=SI(ET(B2>10000; D2="Non"); "À valider"; "OK")
La règle ne signale que les dépenses de plus de 10 000 non approuvées : l’agence digitale (15 000,00 non approuvée) est marquée « À valider ». Le garage Mekki (exactement 10 000,00, non approuvé) est « OK », puisque le test est strictement supérieur ; la dépense de 22 000,00 est « OK » parce qu’elle a été approuvée. Remarquez que la frontière compte : si la règle de l’entreprise est « à partir de 10 000 », il faut >=. Les erreurs de borne (> contre >=) sont les plus fréquentes et les plus coûteuses : relisez toujours la règle à voix haute avec un cas limite.
SI renvoyant un calcul ou un autre SI
Un SI n’est pas limité aux textes : chaque branche peut être une formule.
=SI(B2>=50000; B2*10%; SI(B2>=20000; B2*7%; 0))
Ce SI imbriqué applique 10 % au-delà de 50 000, 7 % entre 20 000 et 50 000, 0 sinon. C’est lisible à deux niveaux, pénible à quatre ou cinq. L’épisode suivant présente SI.CONDITIONS et la recherche dans un barème, bien plus clairs.
Bonnes pratiques
- Un seul test par SI : si la formule devient longue, décomposez-la dans des colonnes intermédiaires. Un tableau lisible vaut mieux qu’une formule savante.
- Les seuils dans les paramètres :
=SI(B2>SeuilValidation; …), avec un nom défini (épisode 10) plutôt que 10 000 en dur. - Tester les cas limites : une valeur juste au-dessous, égale et juste au-dessus du seuil.
- Colorer les résultats avec la mise en forme conditionnelle (épisode 29) : « À valider » en orange s’aperçoit mieux que « OK ».
- Compter les anomalies :
=NB.SI(G2:G9;"À valider")donne le nombre de lignes à traiter (épisode 22). - Ne pas confondre texte et nombre :
=SI(D2="Oui";…)ne fonctionne que si la cellule contient bien le mot « Oui » sans espace parasite ;SUPPRESPACErègle ce problème (épisode 15).
Les erreurs classiques
| Symptôme | Cause | Remède |
|---|---|---|
#NOM? |
Texte sans guillemets | "Oui" et non Oui |
| Renvoie toujours FAUX | Comparaison texte/nombre : "5000" n’est pas égal à 5000 |
Convertir (épisode 2) |
| Résultat faux pour la valeur du seuil | > à la place de >= |
Relire la règle sur le cas limite |
#VALEUR! |
Un test porte sur une cellule en erreur | Traiter l’erreur d’abord (épisode 14) |
| ET ne renvoie pas ce qu’on attend | ET(A1>1; A1<10) écrit ET(1<A1<10) |
Chaque condition est un test séparé |
À vous de jouer
Dans le classeur d’exercice, onglet Achats :
- Complétez la colonne E avec
=SI(OU(C2="Transport";C2="Restauration");10%;20%), puis la colonne F (=B2*E2). - Complétez la colonne G avec le test de validation et recopiez-le.
- Changez l’approbation du garage Mekki en « Oui » et son montant en 10 001,00. Que devient le contrôle ? Remettez ensuite « Non » : que devient-il ?
- Ajoutez une règle : les dépenses de la catégorie « Services » supérieures à 20 000 doivent aussi être signalées, qu’elles soient approuvées ou non. Quelle formule écrivez-vous ? (Indice :
OUentre les deux règles.)
Correction. Aux étapes 1 et 2, le total de TVA est 13 756,00 et une seule ligne affiche « À valider » (l’agence digitale). À l’étape 3, avec 10 001 non approuvé le contrôle passe à « À valider » (10 001 > 10 000) ; avec « Oui », il redevient « OK ». À l’étape 4, la formule est =SI(OU(ET(B2>10000;D2="Non");ET(C2="Services";B2>20000));"À valider";"OK") : le cabinet de conseil (22 000, Services, approuvé) est alors signalé aussi, ce qui porte le nombre de lignes à valider à 2.
À retenir
SI(test; si_vrai; si_faux): un test, deux issues. Textes entre guillemets.ET: toutes les conditions ;OU: au moins une ;NON: l’inverse. On les place dans le test d’un SI.- Relisez chaque règle sur son cas limite :
>et>=ne disent pas la même chose. - Les seuils et les taux vont dans la feuille Paramètres, pas dans la formule.
- Au-delà de deux ou trois niveaux, abandonnez les SI imbriqués : c’est l’objet du prochain épisode.
Épisode 14 : SI.CONDITIONS pour les barèmes, et SIERREUR pour traiter proprement les erreurs #N/A et #DIV/0!.
Questions fréquentes
Pourquoi ma formule SI renvoie-t-elle #NOM? ?
Un texte n’est pas entre guillemets (=SI(A2=Oui;…) au lieu de =SI(A2="Oui";…)) ou le nom de la fonction est mal orthographié. Excel interprète un mot sans guillemets comme un nom défini, qu’il ne trouve pas.
Combien de SI peut-on imbriquer ?
Jusqu’à 64 niveaux dans les versions récentes, mais au-delà de trois la formule devient illisible. L’épisode suivant présente SI.CONDITIONS et les tables de correspondance, plus lisibles.
Quelle différence entre ET et OU ?
ET renvoie VRAI seulement si toutes les conditions sont vraies ; OU renvoie VRAI dès qu’une seule est vraie. NON inverse un résultat. On peut les combiner : ET(A>0;OU(B="x";B="y")).
Comment comparer du texte sans tenir compte des majuscules ?
La comparaison avec = ne distingue pas les majuscules : "oui"="Oui" est VRAI. Pour une comparaison sensible à la casse, utilisez EXACT(A2;"Oui"). Attention en revanche aux espaces parasites, qu’il faut supprimer avec SUPPRESPACE.
Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.