Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

limite du niveau d'imbrication dans une formule conditionnelle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MademoiselleMi

XLDnaute Nouveau
Bonjour à tous,

Je travaille actuellement sur des formules reliant plusieurs fichiers excel (version 2007).

J'ai des données brutes dans un 1er fichier, qui sera appelé "fichier1". Il s'agit de statistiques mensuelles, avec une feuille par mois, qui seront appelée "mois1; mois2;...".
Je souhaite récupérer certaines de ces données dans un autre fichier afin de créer un graphique.

ex : =si(C2=1;'[fichier1]mois1!'C2;si(C2=2;'[fichier1]mois2!'C2;...;si(C2=12;'[fichier1]mois12!'C2;"")

Mon problème : Excel bloque la formule à 9 imbrications (j'en veux donc 12) avec le message suivant : "impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel".

Est ce que quelqu'un sait comment résoudre le problème ?

Merci beaucoup !
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

Bonjour phlaurent,
Re,

Peut-être :

Code:
=choisir(C2;'[fichier1]mois1!'C2;'[fichier1]mois2!'C2;'[fichier1]mois3!'C2;'[fichier1]mois4!'C2;'[fichier1]mois5!'C2;'[fichier1]mois6!'C2;'[fichier1]mois7!'C2;'[fichier1]mois8!'C2;'[fichier1]mois9!'C2;'[fichier1]mois10!'C2;'[fichier1]mois11!'C2;'[fichier1]mois12!'C2)

INDIRECT a le défaut de ne plus fonctionner si le fichier est fermé, non ? pas encore testé en 2007...
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

Je reviens sur le même problème...
Voici ma formule.

Excel me bloque à partir de Juin...

=SI($B$1=1;INDEX(Janvier!$1:$1048576;EQUIV($H$11;Janvier!$D$1:$D$420;0)+6;4);SI($B$1=2;INDEX(Février!$1:$1048576;EQUIV($H$11;Février!$D$1:$D$420;0)+6;4);SI($B$1=3;INDEX(Mars!$1:$1048576;EQUIV($H$11;Mars!$D$1:$D$420;0)+6;4);SI(B1=4;INDEX(Avril!$1:$1048576;EQUIV($H$11;Avril!$D$1:$D$420;0)+6;4);SI(B1=5;INDEX(Mai!$1:$1048576;EQUIV($H$11;Mai!$D$1:$D$420;0)+6;4);SI($B$1=6;INDEX(Juin!$1:$1048576;EQUIV($H$11;Juin!$D$1:$D$420;0)+6;4)))))))
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

Bonjour,

Sans voir le fichier, on est contraint de rebrancher la boule de cristal.

La fonction INDIRECT devrait te permettre d'éviter les 12 niveaux d'imbrication correspondant à chaque mois.

Il faut que les noms d'onglet soient correctement orthographiés (accents sur les mois de février, août et décembre).

Je te laisse tester

@+
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

Désolée, effectivement sans le fichier c'est pas très parlant...Il s'agit d'un fichier avec 13 onglets : 12 mois et 1 synthèse.
Dans la feuille de synthèse, je dois aller chercher des données dans tel ou tel onglet en fonction du mois voulu pour la synthèse...

Je vais essayer la fonction INDIRECT.
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

Bonjour Mi, Bonjour Tibo 😉

Peut-être, avec INDIRECT

Code:
=INDEX(indirect(texte(date(2011;$b$1;1);"mmmm")&"!$1:$1048576");EQUIV($H$11;indirect(texte(date(2011;$b$1;1);"mmmm")&"!$D$1:$D$420");0)+6;4)
 
Re : limite du niveau d'imbrication dans une formule conditionnelle

re,

En fait, j'ai oublié tout à l'heure de copier la formule :

Code:
=INDEX(INDIRECT(TEXTE(("1/"&B1)*1;"mmmm")&"!$1:$1048576");EQUIV($H$11;INDIRECT(TEXTE(("1/"&B1)*1;"mmmm")&"!$D$1:$D$420");0)+6;4)
Sans garantie, faute d'avoir pu tester sur ton fichier.

@+

Edit : salut tototiti, même idée 🙂

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…