Utiliser le contenu d'une cellule dans un chemin d'accès

frouipop

XLDnaute Nouveau
Bonjour,

Le titre n'est pas très clair c'est pourquoi je vais tenter de me faire comprendre. J' ai une cinquantaine de classeur excel qui ont le même format ( ils ont la même tête mais les nombres diffèrent de l'un à l'autre). Je voudrais dans un nouveau classeur mettre dans la colonne A le nom de tout les autres classeur et dans la colonne B calculer la moyenne des valeurs contenues dans le classeur indiqués par la colonne A.

Pour le moment ce que j'ai dans mon nouveau classeur c'est :
Colonne A :
A1 coco.xls
A2 toto.xls
A3 dodo.xls

Colonne B :
B1 =MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER_I*MPORTANT\[coco.xls]Feuill1!$A$1:$A$100)
B2 =MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER_I*MPORTANT\[toto.xls]Feuill1!$A$1:$A$100)
B3 =MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER_I*MPORTANT\[dodo.xls]Feuill1!$A$1:$A$100)

Et moi je voudrai un truc du style
Colonne A :
coco.xls
toto.xls
dodo.xls

Colonne B :
B1=MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER*_IMPORTANT\[CONTENU DE A1]Feuill1'!$A$1:$A$100)
B2=MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER*_IMPORTANT\[CONTENU DE A2]Feuill1'!$A$1:$A$100)
B3=MOYENNE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER*_IMPORTANT\[CONTENU DE A3]Feuill1'!$A$1:$A$100)

Si vous avez des idées sachant que je ne peux pas utiliser INDIRECT.EXT car je suis sur l'orid du bureau et que je peux pas installer more func et que INDIRECT ça m'interesse pas trop car ça veux dire que je dois ouvrir tout mes autres classeur.

Merci d'avance

Configuration: Windows XP Internet Explorer 7.0
 

job75

XLDnaute Barbatruc
Re : Utiliser le contenu d'une cellule dans un chemin d'accès

Bonjour frouipop, bienvenue sur XLD,

Je ne pense pas que l'on puisse utiliser des formules. A priori il faut du VBA.

Avec une boucle For Each cel In...Next, balayer la colonne A, la variable cel récupère donc les noms des fichiers.

Dans cette boucle, écrire le code :

Code:
cel.Offset(, 1).FormulaR1C1 = "=AVERAGE('\\MATFIC00\Utilisateurs\MONNOM\Personnel\DOSSIER_IMPORTANT\[" & cel & "]Feuill1'!R1C1:R100C1)"

Les formules en colonne B créent des liaisons. Si l'on veut éviter le message de mise à jour à l'ouverture du fichier, supprimer ces formules à la fermeture du fichier (macro Workbook_BeforeClose), et les recréer à l'ouverture (macro Workbook_Open)

Note importante : dans vos formules je vois l'astérisque *. Ce caractère est interdit dans les noms de dossiers ou de fichiers.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 239
Messages
2 086 497
Membres
103 236
dernier inscrit
Menni