XL 2013 Recherche de texte dans un classeur qui retourne un "X" dans un autre

  • Initiateur de la discussion Initiateur de la discussion Camaalot
  • 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 !

Camaalot

XLDnaute Nouveau
Bonjour,

J'ai un petit souci avec une formule. J'implore alors votre aide.

J'explique :
Dans le fichier Factures à payer1 :
J'utilise ici, dans V6, =SI(NB.SI(Tableau1;"Loyer");"X";""). Ça fonctionne à merveille.
L'idée est tout à fait là. Exemple : Quand est présent dans E6:E17 le texte "Loyer", un X apparait dans V6.

Par contre, je veux que la plage de la formule provienne d'un autre classeur.
S.V.P. voir le fichier suivant Factures à payer2.xlsx pour bien comprendre.

Dans le fichier Factures à payer2 :
Dans ce classeur, pour récupérer les valeurs "Loyer", etc, du tableau du classeur Factures à payer1.xlsx, J'ai utilisé dans V6 la fonction INDIRECT avec =SI(NB.SI(Tableau1;"Loyer");"X";"").

Voyons, Je choisis le mois dans F2. Cette liste est liée à Q10 avec =RECHERCHEV(F2;T13:U25;2;FAUX) dans Q10. Ce qui devrait m'afficher dans un "X" dans I6:I14.

La formule est : =SI(NB.SI(INDIRECT("'[Factures à payer.xlsx]"&$Q$10&"'!$E$6:$E$17;"Loyer");"X";"")).

C'est ici que tout flanche. J'ai cherché des solutions et rien.

Merci de votre aide,

Camaalot
 

Pièces jointes

Merci Chris,

J'ai bien compris que c'était impossible.

Le problème reste entier. Y a-t'il une solution à ce problème.
Formule ou VBA. Mais là, j'avoue que j'y connais rien.

Je continue à chercher, mais s.v.p. je crie à l'aide.

Merci encore,

Camaalot
 
Bonjour Camaalot, chris,

Avec SOMMEPROD on peut utiliser les formules de liaison classiques.

Ouvrez les 2 fichiers
et en I6 de Factures à payer2 - test.xlsx entrez la formule :
Code:
=REPT("X";SOMMEPROD(N('Factures à payer1 - test.xlsx'!Tableau1="Loyer")))
ou s'il peut y avoir plusieurs "Loyer" dans Tableau1 :
Code:
=REPT("X";SIGNE(SOMMEPROD(N('Factures à payer1 - test.xlsx'!Tableau1="Loyer"))))
Vous pouvez refermer le fichier 1 : la formule s'adapte avec le chemin d'accès.

A+
 
Bonjour Job75, Chris,

C'est vraiment génial parce cette formule résout l'erreur que j'obtenais en utilisant INDIRECT avec NB.SI.


Maintenant, j'expose la suite de mon problème :
Voyons, dans Factures à payer2 - test_V2.xlsx, je choisis le mois dans F2. Cette liste est liée à Q10 avec =RECHERCHEV(F2;T13:U25;2;FAUX) dans Q10.

Exemple, je sélectionne "Janvier" dans F2, Excel affichera dans I6:I14 les "X" en relation avec les valeurs l'onglet Janvier du fichier Factures à payer1 - test_V2.xlsx. Et, le processus est le même avec Février...

Peut-on imbriquer INDIRECT avec =REPT("X";SOMMEPROD(N('E:\Budget\Tests\Factures à payer1 - test.xlsx'!Tableau1="Loyer"))) ?

Comment peut-on faire ? Je suis à bout de ressources.

Merci beaucoup pour cet aide,

Camaalot
 

Pièces jointes

Bonjour Camaalot, chris, le forum,

1) Dans le fichier Factures à payer1 - test_V2.xlsx créez toutes les feuilles des mois.

2) Ouvrez les 2 fichiers.

3) Dans le fichier Factures à payer2 - test_V2.xlsx définissez les 12 noms :

tablo1 ='[Factures à payer1 - test_V2.xlsx]Janvier'!$E$6:$E$17
tablo2 ='[Factures à payer1 - test_V2.xlsx]Février'!$E$6:$E$17
---
tablo12 ='[Factures à payer1 - test_V2.xlsx]Décembre'!$E$6:$E$17

En I6 vous pouvez maintenant entrer la formule :
Code:
=REPT("X";SOMMEPROD(N(CHOISIR(MOIS(1&$Q$10);tablo1;tablo2;tablo3;tablo4;tablo5;tablo6;tablo7;tablo8;tablo9;tablo10;tablo11;tablo12)="Loyer")))
et refermer le 1er fichier.

Bonne journé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

Retour