Erreur nombre d'imbrications

Résolu
mounapo Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

J'ai un fichier EXCEL composé de plusieurs onglets dont un tableau et une requête fusionnée.

Dans mon tableau, j'ai une case composée d'une formule regroupant une dizaine de conditions "SI" en lien avec ma requête et à partir de la 9ème condition, le message d'erreur suivant s'affiche : "cette formule utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel".

Pouvez-vous me dépanner et m'indiquer pourquoi le nombre de conditions SI est limitée ?

Merci d'avance ;)

10 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

Bonjour

Tout dépend de la version d'Excel que tu utilises

Dans les (très) anciennes versions le nombre d'imbrication était limité à 7

Donc c'est à partir de la 8ème que ça coince et pas la 9ème

Maintenant il est limité à 64 !!

Et il existe aussi les fonctions SI.CONDITIONS et SI.MULTIPLE pour mieux gérer les imbrications

Si tu es dans une ancienne version il a différents moyens de contourner la limite de 7, voir ici :https://forums.commentcamarche.net/forum/affich-37641581-utiliser-plus-de-7-imbrications-si-dans-une-formule

Cdlmnt

Via


0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 

Bonjour

Quelle version d'Excel avez-vous

Sous 2021 on peut en mettre plus avec 25 c'est toujours bon

=SI(A1=1;1;SI(A1=2;2;SI(A1=3;3;SI(A1=4;4;SI(A1=5;5;SI(A1=6;6;SI(A1=7;7;SI(A1=8;8;SI(A1=9;9;SI(A1=10;10;SI(A1=11;11;SI(A1=12;12;SI(A1=13;13;SI(A1=14;14;SI(A1=15;15;SI(A1=16;16;SI(A1=17;17;SI(A1=18;18;SI(A1=19;19;SI(A1=20;20;SI(A1=21;21;SI(A1=22;22;SI(A1=23;23;SI(A1=24;24;SI(A1=25;25;0)))))))))))))))))))))))))

Que voulez-vous faire il y a sûrement une autre solution avec une liste et une RechercheV ou autres 


0
mounapo Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   1
 

Je vous confirme que j'ai bien une version récente d'excel. 

En fait ma case M1 fait référence à une autre case J1 dont les données sont récupérees via ma requête avec la fonction RECHERCHEV. En fonction du résultat de la case J1 je lui attribue un texte correspondant. Exemple : (SI (J1="01";"Amelie";Si (J1 ="02" ;"Valérie"...

J'espère que je suis assez claire dans mes explications... 

0
cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   361
 

Bonsoir,

2 petites questions :

- Quand vous parlez de requête, vous parlez d'une requête "Power Query"?

- Le msg d'erreur alerte sur "le format de fichier...", ne serait-il pas enregistré en ".xls", au lieu de ".xlsx" (ou ".xlsm")?

Le format ".xls" est obsolète depuis plus de 15 ans....

Bonne soirée


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mounapo Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   1
 

Oui c'est une requête dont les données sont récupérees via msquery. Et le format est bien xlsm. 

0
cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   361
 

Ok,

Selon la version "récente" (>=2016), il est nettement préférable d'utiliser Power Query

On peut ainsi effectuer toutes les fusions, combinaisons, calculs, et tellement d'autres opérations en interne (pas de limites de lignes...)

Mais là, il faudrait revoir toute la requête, et je ne sais pas si c'est ce que tu voudrais...


0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 

Bonjour

Donc vous pouvez essayer avec une table à 2 colonnes

Table

Colonne 1       Colonne 2

1                       Amelie

2                       Valérie

3  ...                   ...

=Recherchev(J1;Table;2;0)

 Je ne sais pas si j'ai bien compris


0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

Bonjour,

je me permet de m'ingérer dans la discussion pour relever le nombre d'imbrication conditionnelle. en 2015 j'ai écrit une astuce pour rendre le nombre pratiquement infini déjà avec la version Excel 2000,

si l'imbrication doit retourner une valeur numérique, il suffit d'imbriquer 7 conditionnelles qui retour zéro si aucune n'est vrai et on relance une formule de 7 conditionnelles avec le 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";....

si l'imbrication doit retourner une valeur au format texte, il suffit de remplacer la condition vrai zéro par rien "" et on relance une nouvelle imbrication en remplaçant le signe +, par &

=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; ...

et pour aller encore plus loin il suffit de créer des champs nommés dans lequel on imbrique les formules conditionnelles et le nombre n'a jamais été un frein dans Excel mais plutôt un case tête pour ne pas perdre le fil.

mon astuce a été retranscrite en 2022 sur ce lien même si le fichier exemple n'est plus disponible.

https://forums.commentcamarche.net/forum/affich-37641581-utiliser-plus-de-7-imbrications-si-dans-une-formule

un exemple vite fait avec 40 imbrications

https://www.cjoint.com/c/MFouHQjTBMF

c'est comme afficher plusieurs colonnes de données dans une liste de validation souvent jugé impossible qui pour Excel tout est possible


0
mounapo Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   1
 

Merci pour vos réponses !

D'abord non, je n'ai pas pas la version Power Query !

Et philou10120, c'est un peu flou pour moi. 

Par contre je sens bien la formule de Mike-31, j'essaie dès demain matin et vous tiens au courant.

Bonne nuit à vous ! 

0
mounapo Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   1
 

Super ! Ca fonctionne 5/5 !

Merci encore pour votre aide ;)

Et belle journée à vous !!!

0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

Re,

Fonctionner ça fonctionne sans problème mais le plus orthodoxe serait de créer une petite base de données et utiliser une simple formule avec une RECHERCHEV ou INDEX et EQUIV

Mais bon si tu y trouves ton compte c'est parfait.

0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824 > Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention  
 

Bonjour

Correspond à ma proposition beaucoup plus simple à gérer, que x SI imbriqués 

0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135 > PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention  
 

Bonjour PHILOU,

Oui tout à fait, ce qui m'a fait réagir est la limite du nombre d'imbrications Conditionnelles qu'il a toujours été possible de contourner et qui avec l'évolution d'Excel on a tendance à oublier par facilité, comme bon nombre d'autres possibilités, je donnais en exemple l'affichage de plusieurs colonne dans une validation ou encore compter les cellules couleurs avec la très vieille syntaxe LIRE.CELLULE.

cordialement

0