Utiliser plus de 7 imbrications SI dans une formule

baissaoui Messages postés 497 Date d'inscription jeudi 2 septembre 2021 Statut Webmaster Dernière intervention 22 mars 2024 - 18 juil. 2022 à 10:56

Exemple 1 (données textes)

Prenons comme cellule source la cellule A2 dans laquelle sera saisie une donnée texte ou numérique, et prenons comme exemple des données au format texte de "un" à "cinquante six".
Pour faciliter le suivi les données recueillies seront au format numérique et insérées dans la formule ; elles pourraient se trouver dans des cellules cibles ; dans ce cas faire référence à l'adresse de chaque cellule.
Il suffit de terminer "la Valeur si faux" de chaque imbrication par 0 (zéro) et relancer une nouvelle imbrication précédée du signe + (plus)
=SI(A2="un";1;SI(A2="deux";2;SI(A2="trois";3;SI(A2="quatre";4;SI(A2="cinq";5;SI(A2="six";6;SI(A2="sept";7;0)))))))+SI(A2="huit";....

Vidéo

"FAQ : utiliser plus de 7 imbrications SI dans une formule"

Exemple 2 (données numériques)

Prenons cette fois comme cellule source la cellule A8, les données au format numérique de 1 à 40 et les données recueillies en cellule (exemple D8) au format texte.
Il suffit de terminer "la Valeur si faux" de chaque imbrication par "" (vide) et relancer une imbrication précédée d'une esperluette &
=SI(A8=1;"un";SI(A8=2;"deux";SI(A8=3;"trois";SI(A8=4;"quatre";SI(A8=5;"cinq";SI(A8=6;"six";SI(A8=7;"sept";"")))))))&SI(A8=8; ...

Exemple 3 (avec champs)

Cette méthode consiste à créer des champs contenant la formule conditionnelle. Commencer par activer la cellule destinée à afficher le résultat, par exemple la cellule D5.
Créer le premier champ (Nom/Définir un nom), exemple champ nommé Form1
Dans fait référence à: saisir la formule conditionnelle classique et terminer par "la Valeur si faux" FAUX
=SI(Feuil1!A2="un";1;SI(Feuil1!A2="deux";2;SI(Feuil1!A2="trois";3;SI(Feuil1!A2="quatre";4;SI(Feuil1!A2="cinq";5;SI(Feuil1!A2="six";6;SI(Feuil1!A2="sept";7;FAUX)))))))
Poursuivre en créant un nouveau champ nommé Form2 et saisir la formule suivante pour continuer l'imbrication conditionnelle
=SI(Feuil1!A2="huit";8;SI(Feuil1!A2="neuf";9;SI(Feuil1!A2="dix";10;SI(Feuil1!A2="onze";11;SI(Feuil1!A2="douze";12;SI(Feuil1!A2="treize";13;SI(Feuil1!A2="quatorze";14;FAUX)))))))
Idem jusqu'au huitième champ si nécessaire.
Dans la cellule active D5, saisir une simple formule conditionnelle mais faisant référence aux champs nommés
=SI(Form1;Form1;SI(Form2;Form2;SI(Form3;Form3;SI(Form4;Form4;SI(Form5;Form5;SI(Form6;Form6;SI(Form7;Form7;SI(Form8;Form8;""))))))))
Les possibilités deviennent très importantes ; nous avons 7 imbrications par champ (pour ne pas saturer les possibilités d'Excel) fois 8, soit 56 conditionnelles SI.
Il est également possible de relancer de nouvelles cascades comme dans les deux premiers exemples sur les mêmes critères, ce qui permet un très grand nombre de possibilités.
SI(Form8;Form8;""))))))))&SI(Form9; ou SI(Form8;Form8;0))))))))+SI(Form9; ...
Cette dernière méthode est intéressante car elle permet de tester plusieurs cellules, y compris sur plusieurs onglets, ou de créer une cascade par cellule, ou par onglet, ou dans un ordre de priorité.
Mais il est possible d'obtenir un nombre illimité de conditionnelles avec ce dernier procédé.

Exemple 4 (avec cellules-relais)

Ce dernier va nous permettre d'obtenir un nombre illimité de conditionnelles en utilisant des cellules dans une colonne qui pourra être masquée.
Exemple, dans une première cellule C13 sera saisie la première formule de 7 conditionnelles, terminée par "la Valeur si faux" faisant référence à la cellule contenant la deuxième formule conditionnelle, ex C14
=SI(Feuil1!A11="un";1;SI(Feuil1!A11="deux";2;SI(Feuil1!A11="trois";3;SI(Feuil1!A11="quatre";4;SI(Feuil1!A11="cinq";5;SI(Feuil1!A11="six";6;SI(Feuil1!A11="sept";7;C14)))))))
Dans cette cellule C14, la formule conditionnelle suivante avec comme "Valeur si faux" l'adresse de la cellule contenant la formule suivante C15
=SI(Feuil1!A11="huit";8;SI(Feuil1!A11="neuf";9;SI(Feuil1!A11="dix";10;SI(Feuil1!A11="onze";11;SI(Feuil1!A11="douze";12;SI(Feuil1!A11="treize";13;SI(Feuil1!A11="quatorze";14;C15)))))))
il sera utilisé autant de cellules que nécessaire, sans limitation. Le résultat sera repris par une simple formule, exemple D11, et fera référence à la première cellule conditionnelle =C13

Feuille unique -> Formule allégée

Lorsque les cellules testées sont sur la même feuille, il est possible d'alléger la formule des champs en remplaçant Feuil1!A2 par simplement l'adresse de la cellule A2 ou en référence absolue $A$2.

Autre procédure (sans la fonction SI)

S'il est possible de contourner le nombre d'imbrications conditionnelles, il faut reconnaitre que la méthode est difficile à gérer pour des utilisateurs novices d'Excel, qu'il est préférable de créer une matrice et utiliser une des fonctions RECHERCHE ou CHOISIR.

Fichier d'illustration

Télécharger le fichier exemple: https://www.cjoint.com/?BEroiY8ioX5