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

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

  • Factures à payer1 - test.xlsx
    17.5 KB · Affichages: 25
  • Factures à payer2 - test.xlsx
    17.1 KB · Affichages: 33

Camaalot

XLDnaute Nouveau
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
 

job75

XLDnaute Barbatruc
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+
 

Camaalot

XLDnaute Nouveau
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

  • Factures à payer1 - test_V2.xlsx
    16.8 KB · Affichages: 27
  • Factures à payer2 - test_V2.xlsx
    18 KB · Affichages: 26

job75

XLDnaute Barbatruc
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi