XL 2010 Faire appel au contenu d'une cellule pour définir une partie du chemin d'accès

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je souhaiterais pouvoir modifier la formule suivante :
Code:
=SI($A$1="Semaine 1";SOMMEPROD(('C:\Prechard\Bulletins\2016\01-Janvier-2016\Trimestre\[Notes.xls]STOCK'!$B$3:$B$45=C3)*'C:\Prechard\Bulletins\2016\01-JANVIER-2016\Trimestre\[Notes.xls]Notes'!$D$3:$D$45);"")

Afin de remplacer une partie du chemin d'accès par le contenu d'une cellule

la portion à remplacer est : 01-Janvier-2016
la cellule qui contiendrait la mention du dossier à remplacer dans le chemin d'accès serait en B1
et B1 pourrait contenir 01-Janvier-2016, 02-Février-2016, 03-Mars-2016 etc...
J'ai essayé plusieurs rédactions sans succès

Merci beaucoup pour votre aide
 

fb62840

XLDnaute Impliqué
Bonjour à tous 2,

Je ne peux pas utiliser MOREFUNC, je n'ai pas les autorisations nécessaires pour l'installer...

rédigé ainsi, avec le classeur j'ai une erreur de type Ref (et le fichier est ouvert)

Code:
=SI($A$1="Semaine 1";SOMMEPROD((
INDIRECT("'C:\Prechard\Bulletins\2016\"&E1&"\Trimestre\[Notes.xls]STOCK'!$B$3:$B$45")*
(INDIRECT("'C:\Prechard\Bulletins\2016\"&E1&"\Trimestre\[Notes.xls]STOCK'!$B$3:$B$45")
;"")

'J'ai remplacé B1 par E1 avec comme formule en E1 :
=SI(C1<10;"0"&C1&"-"&TEXTE(D1;"mmm")&"-16";"")

'En B1 : 1/1/2016
'en C1 : =MOIS(B1)
'en D1 : =MOIS(B1)
 

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour fb62840, Nairolf, Bises Chris :),

si tu as en B1 01/01/2016 et que tu veux 01-janvier2016 pourquoi passer par E1 tu peux le faire en direct en remplacant dans ton indirect B1 par :

Code:
TEXTE(B1;"jj-mmmm-aaaa")

Cordialement
 

fb62840

XLDnaute Impliqué
Merci Jocelyn,

Belle intuition, 2 erreurs en effet, corrigées grâce à votre proposition :
Code:
=SI(C1<10;"0"&C1&"-"&MAJUSCULE(TEXTE(D1;"mmmm"))&" 2016";"")

On est proche car maintenant au lieu de #Ref, j'ai une erreur de type #Valeur!

Une idée ?
 

Jocelyn

XLDnaute Barbatruc
Re

L'erreur valeur ne peut venir que du fait que dans ta plage D3:D45 celle que tu somme suivant la condition de C3 (suivant le sommeprod de ton premier message) tu as des valeurs qui ne sont pas numériques je ne vois pas d'autre explications du moins comme ça a l'aveuglette

Cordialement
 

fb62840

XLDnaute Impliqué
En fait les valeurs en plage D sont des "Noms de matières" et je les compares au nom de matières de la ligne sur laquelle est rédigée la formule
Ainsi j'espère récupérer si j'observe Math 1 en colonne D sur le fichier dans lequel je dois extraire les données, je trouve en colonne, pour la ligne où est rédigée la formule, Math 1 également.

Une idée ?
 

Jocelyn

XLDnaute Barbatruc
re,

Je ne comprend pas bien la réponse en lisant ta formule en message 1 pour moi dans le sommeprod cette partie permet de définir un critère qui suivant ce que tu dis doit être la matière

('C:\Prechard\Bulletins\2016\01-Janvier-2016\Trimestre\[Notes.xls]STOCK'!$B$3:$B$45=C3)

Et cette partie

'C:\Prechard\Bulletins\2016\01-JANVIER-2016\Trimestre\[Notes.xls]Notes'!$D$3:$D$45

je l'analyse comme étant la note en elle même d'ou le besoin d'une valeur numérique car cette partie ne dit pas qu'elle doit être égale a quelque mais fait la somme dans cette plage des cellule pour lesquelles le critère de la première partie est vrai

A te lire
 

fb62840

XLDnaute Impliqué
Ok, la voici :

Code:
=SI($A$1="Semaine 1";SOMMEPROD((INDIRECT("''C:\Prechard\Bulletins\2016\01-Janvier-2016\Trimestre\[Notes.xls]Notes'!$B$3:$B$45=C3)*(INDIRECT("C:\Prechard\Bulletins\2016\01-JANVIER-2016\Trimestre\[Notes.xls]Notes'!$D$3:$D$45))))
Désolé il y avait une erreur sur le nom de la feuille
Je regarde dans la colonne B et si j'y trouve la matière
alors je veux afficher la note qui apparaît pour la même ligne dans la colonne D

J'ai un problème aussi si Indirect ne fonctionne pas avec les classeurs fermés car sinon je vais devoir en ouvrir un très grand nombre...
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 080
Membres
103 457
dernier inscrit
fab2614