fonction indirect et ses guillemets

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

tatich836

XLDnaute Nouveau
Bonjour,

voici une formule qui me permet d'aller dans le document fichier 1 et de retourner les lignes contenant des valeurs numériques sur la plage B13: B475.

=SI(ESTNUM(INDIRECT("'[fichier1 "&$C3&"-"&$B3&"-"&$A3&".xls]'!$B13:$B475"));LIGNE(INDIRECT("'[fichier1 "&$C3&"-"&$B3&"-"&$A3&".xls]'!$B13:$B475")))


Seulement, la formule renvoie le même résultat même quand je l'étire sur toute une colonne.
Je me suis demandée si ce n'était pas un problème de guillemets.

Merci d'avance pour votre aide.
 
Re : fonction indirect et ses guillemets

Bonjour tatich,

Ou peut-être dû au contenu de A3, B3, C3, A4, B4, C4....
Mais comme on ne connait le contenu d'aucune de ces cellules, il va être difficile de te répondre
Je crois comprendre que le fichier est variable, tous les fichiers concernés sont ouverts ?
 
Re : fonction indirect et ses guillemets

Bonjour tototiti2008,

merci d'avoir répondu.
Effectivement, tous les fichiers sont ouverts. j'envoie un fichier exemple en esperant que ce sera un peu plus clair.
 

Pièces jointes

Re : fonction indirect et ses guillemets

Re,

Dans la version envoyée, comme A3, B3 et C3 sont respectivement égaux à A4, B4 et C4, c'est normal que ça renvoie le même résultat
Mais sans doute est-ce dû à ton anonymisation des données...

Ce que j'ai aussi du mal à comprendre, c'est que ta formule renvoie une matrice, or ta cellule ne renverra qu'une valeur, la formule est incomplète et tu fais d'autre calculs sur cette matrice ?
 
Re : fonction indirect et ses guillemets

Re,

Une autre remarque :
Il ne manquerait pas le nom de la feuille dans l'adresse que tu construis avec INDIRECT ?
Je viens d'essayer et chez moi ça donne un truc du genre :

='[Toto.xls]Feuil3'!$D$13:$D$33

Donc
'[NomFichier.xls]NomFeuille'!RefPlage

Si tu expliques ce que tu cherches à faire, on pourrait peut-être t'aider pour la formule
Qu'y a t-il dans les cellules $B13:$B475 des différents fichiers ?
 
Re : fonction indirect et ses guillemets

Re,

le nom de la feuille y est , je l'ai enlevé par mégarde en copiant la formule sur le forum.
la plage B13: B475 contient tous les code clients de l'hôtel.
A partir de ces codes, je dois pouvoir trouver le nom des clients et leurs créances.

Je viens de trouver une solution qui marche plutot bien. AU LIEU DE DELIMITER UNE PLAGE, j'utilise la fonction ligne et voici ce que j'obtiens :

=(SI(ESTNUM(INDIRECT("'[Report DD "&$C3&"-"&$B3&"-"&$A3&".xls]1-BAgee'!$B"&13+ LIGNE()-3));INDIRECT("'[Report DD "&$C3&"-"&$B3&"-"&$A3&".xls]1-BAgee'!$B"&13+ LIGNE()-3))).

QU'en penses tu ?
 
Re : fonction indirect et ses guillemets

Ok,je t'envoie un exemple pour que tu comprennes ce que je veux faire.

DISONS que j'ai 16 fichiers différents ( dans leur contenu) mais leur présentation est la même. Pour résumer je t'envoie un seul fichier que je nomme 16fichiers. A partir de 16fichiers, je dois créer le fichier exemple(envoyé précedemment) dans lequel je determine pour chaque hôtel les clients qui nous doivent de l'argent et la somme dûe.
J'utilise donc indirect pour que le fichier exemple ne traite que celui des 16 fichiers ouverts.

la formule que je t'ai envoyé tout à l'heure doit me permettre de reprendre les code client lorsque les cellules de ces dernières sont non nulles.

J'espere que c'est un peu plus compréhensible.
 

Pièces jointes

Re : fonction indirect et ses guillemets

Re,

Si j'ai compris quelque chose, tu veux qu'il te liste les Solde Balance des clients de l'hotel du fichier concerné qui ne sont pas nuls, puis dans les colonnes suivantes qu'il te mette le nom des clients concernés et les infos suivantes ?
Si c'est ça, ça risque d'être un peu chaud, mais bon...
 
Re : fonction indirect et ses guillemets

Re,

Je te conseille d'oublier INDIRECT pour commencer, et d'essayer de faire des formules qui fonctionnent sur un fichier avant d'introduire le "problème" du fichier variable

ensuite les références aux plages du fichier pourront être remplacés par tes INDIRECT

un essai, à valider par Ctrl+Maj+Entrée pour obtenir le compte/Account des clients dont le Solde est non nul

Code:
=PETITE.VALEUR(SI('[16fichiers-1.xlsx]créance '!$D$14:$D$40<>0;'[16fichiers-1.xlsx]créance '!$A$14:$A$40);LIGNE(A1))
 
- 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

J
Réponses
1
Affichages
1 K
Retour