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

Problème avec rechercheev

  • Initiateur de la discussion Initiateur de la discussion nicoco14
  • Date de début Date de début

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 !

nicoco14

XLDnaute Nouveau
Bonjour à tous

Comment puis je effectuer une recherchev dans plusieurs feuilles d'un classeur ?

J'ai une feuil de Chiffrage sur mon classeur produits sur lequel je tape le numéro d'article

Je souhaite afficher la désignation et le prix de vente

Actuellement, ma formule est la suivante :
=SI(NB.SI('Produits Tôles'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits Tôles'!$A:$M;2;FAUX);SI(NB.SI('Produits Dynaco'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits Dynaco'!$A:$M;2;FAUX);SI(NB.SI('Produits RM'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits RM'!$A:$M;2;FAUX);SI(NB.SI('Produits Visserie'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits Visserie'!$A:$M;2;FAUX);SI(NB.SI('Produits Electrique'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits Electrique'!$A:$M;2;FAUX);SI(NB.SI('Produits porte sectionnelle'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits porte sectionnelle'!$A:$M;2;FAUX);SI(NB.SI('Produits consommables'!$A:$A;A4)>0;RECHERCHEV(A4;'Produits consommables'!$A:$M;2;FAUX);"")))))))

le problème c que lorsque que j'augmente ma formule pour les onglets restant un message d'erreur apparait :

Impossible d'entrer la formule car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel.

Il y aurait moyen de réduire la formule ???

Merci à tous d'avance
P.S Début sur excel 2007
 

Pièces jointes

Re : Problème avec rechercheev

Bonjour nicoco14 et bienvenue sur XLD,

Petit détail : Tu aurais dû poster directement dans le Forum Excel. Tu aurais été ainsi plus lu et peut-être obtenu une réponse plus rapide.

Pour ton problème, une solution en utilisant les macros fonctions d'Excel 4 dans une formule matricielle :

1ère étape : définir un nom : liste_feuilles - Fait référence à :

Code:
=SUBSTITUE(LIRE.CLASSEUR(1);"["&LIRE.CLASSEUR(16)&"]";"")
2ème étape :

Formule matricielle en B4 :

Code:
=RECHERCHEV($A4;INDIRECT("'"&INDEX(liste_feuilles;EQUIV(VRAI;(NB.SI(
INDIRECT("'"&liste_feuilles&"'!A4:E50");$A4)>0);0))&"'!A4:E50");2;0)&""
Formule matricielle à valider par CTRL + MAJ + ENTREE

à recopier vers le bas

Voir le fichier joint.

Adaptation d'après une formule trouvée sur le site de Jacques Boisgontier. Merci à lui

@+

Détail : j'ai supprimé l'apostrophe de l'onglet Main d'oeuvre, car non accepté par la formule

@+
 

Pièces jointes

Re : Problème avec rechercheev

Bonjour tibo

Merci beaucoup pour cette réponse rapide

je ne comprend pas ou se trouve la formule de l'étape 1 et aussi un autre problème lorsque je supprime les références le tableau ne se met pas a jour un message apparait disant:

Microsoft Office Excel ne parvient pas à calculer cette formule. Un classeur ouvert contient une référence circulaire, mais il est impossible d'afficher les référence erronées. Essayez de modifier la dernière formule tapée ou de la supprimer avec la commande annuler

Je débute vraiment
encor merci
 
Re : Problème avec rechercheev

re,

La première étape :

Il s'agit d'une formule nommée : voir onglet Formule - Gestionnaire de noms - Cliquer sur Liste_feuilles - et voir dans : Fait référence à

Pour les autres points soulignés, une tentative de correction avec le fichier joint.

Je te laisse regarder.

A savoir que les RECHERCHEV en 3D ne sont pas chose aisée. Tu peux trouver un complément d'infos sur le site de Jacques BOISGONTIER :

Formation Excel VBA JB

@+
 

Pièces jointes

Re : Problème avec rechercheev

re,

Effectivement, le problème subsistait avec la correction proposée.

Je te propose celle-ci, qui devrait fonctionner :

en B4 :

Code:
=SI($A4="";"";SI(INDEX(liste_feuilles;EQUIV(VRAI;(NB.SI(INDIRECT("'"&
liste_feuilles&"'!A4:E50");$A4)>0);0))="chiffrage";"";RECHERCHEV($A4;INDIRECT(
"'"&INDEX(liste_feuilles;EQUIV(VRAI;(NB.SI(INDIRECT("'"&liste_feuilles
&"'!A4:E50");$A4)>0);0))&"'!A4:E50");2;0)))&""
en D4, sa petite soeur :

Code:
=SI($A4="";"";SI(INDEX(liste_feuilles;EQUIV(VRAI;(NB.SI(INDIRECT("'"&
liste_feuilles&"'!A4:E50");$A4)>0);0))="chiffrage";"";RECHERCHEV($A4;INDIRECT(
"'"&INDEX(liste_feuilles;EQUIV(VRAI;(NB.SI(INDIRECT("'"&liste_feuilles
&"'!A4:E50");$A4)>0);0))&"'!A4:E50");4;0)))

Les deux formules sont matricielles, donc validation par CTRL + MAJ + ENTREE

Tu peux alors supprimer les références sans souci.

Il est peut-être possible de simplifier la définition de liste_feuilles en faisant en sorte qu'elle ne comprenne pas la dernière feuille (chiffrage). Je n'y suis pas parvenu pour le moment

@+
 
- 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

Réponses
3
Affichages
180
Réponses
5
Affichages
490
Réponses
1
Affichages
653
Réponses
20
Affichages
942
Réponses
2
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…