formule sur fichier xls changeant de nom

Profane

XLDnaute Occasionnel
bonjour le forum,
voila ma question est somme tout assez simple
comment faire pour faire reference a des fichiers dont la fin du nom varie ?

je m'explique,
j'ai un fichier qui compile des informations sur d'autres fichiers
la structure du fichier de reference est toujours la meme
seul le nom de celui ci change en fonction de la semaine
ex : stat200625.xls, puis stat200626.xls et ainsi de suite

quelle methode permetrais d'effectuer mes calculs par formules,
au fur et a mesure que les semaine evoluent, le nom des fichiers de reference:)

merci d avance
@++
 

Tibo

XLDnaute Barbatruc
Re : formule sur fichier xls changeant de nom

Salut Profane,

La formule suivante te donnera le n° de la semaine, c'est à dire les les 2 derniers caractères du nom du fichier :

=STXT(CELLULE("nomfichier";A1);TROUVE(".xls";CELLULE("nomfichier";A1))-2;2)

@+
 

Tibo

XLDnaute Barbatruc
Re : formule sur fichier xls changeant de nom

Re,

Si tu parles de code, il s'agit sans doute de code macro.

Dans ce cas, ma formule n'est plus applicable.

On doit pouvoir trouver l'équivalent en VBA, mais là, je ne suis pas du tout spécialiste.

Il va falloir attendre leur passage (qui ne devrait pas tarder).

@+
 

julioo

XLDnaute Nouveau
Re : formule sur fichier xls changeant de nom

Je pense effectuer le meme genre de macro que toi

il faut en fait créer une variable qui sera le nom du fichier a ouvrir :

- si tu souhaites que cette variable soit le nom du fichier ouvert (par exemple si tu veux pouvoir copier ton fichier de référence et utiliser quand meme la copie dans tes formules, c'est la commande ActiveWorkbook.Name qui renvoie une chaine de caracteres

- si les noms des fichiers a appeler varient dans ce cas tu dois utiliser la concaténation et les fonctions de convertion :

exemple : For i = 1 to 10
s = "toto" & CStr(i)
ouvrelefichiervoulu.s
next

t'ouvres successivement les fichiers toto0 toto 1 etc

si les noms des fichiers a compiler varient, tu peux gérer ces variation de cette maniere

Tu peux bien sûr aller chercher dans ta feuile de calcul la valeur v de la formule de tibo, la convertir en chaine de caracteres (CStr(arg)) puis appeler le fichier "stat2006" & CStr(v) & ".xls"
 
Dernière édition:

Profane

XLDnaute Occasionnel
Re : formule sur fichier xls changeant de nom

merci julioo,
donc c'est faisable,
ca me rassure déja,
par contre je ne veux pas compiler tous les fichiers (pas d historique voulu)
mais juste ouvrir le plus recent qui est donné par son nom
ex: stat200645 plus recent que stat200644
et seulement celui-ci
et le vba n'est pas trop mon fort pour l'instant,
mais je ne desespere pas :)
as tu une idée ?
je suis preneur ;)

@++

ps: je garde précieusement l'idée pour historiser ce sera utile pour plus tard
 

julioo

XLDnaute Nouveau
Re : formule sur fichier xls changeant de nom

justement en fait :
la formule de tibo te donne les deux derniers chiffres du nom de fichier qui t'interesse.

tu rentre donc kelkepart la formule et tu y accede ensuite par :
a = CInt(Sheets("feuille").Range("cellule ou il y la la formule").Formula)
le Cint c juste pour pas etre emmerdé avec les types

a est donc la fin du nom du fichier que tu souhaites
par contre je n'ai pas testé la formule de tibo



autre solution : dans l'aide de visual basic, tu trouvera une fonction qui peut tester si un fichier nommé "untel" se trouve dans le répertoire "truc"
fait une boucle while a rebour :
tu initialise a = 100 (les deux derniers chiffres de ton fichier)
puis while fichier pas touvé
decremente a
cherche le fichier "stat2006" & CStr(a) & ".xls"

Wend

tu sors de la boucle avec a le numéro du fichier le plus rescent
 

Profane

XLDnaute Occasionnel
Re : formule sur fichier xls changeant de nom

Bonjour le forum
merci julioo
je me reconnecte seulement maintenant
désolé d avoir fait attendre
j'ai compris ton raisonnement
maintenant je vais éssayé de coder (ca promets du sport)
je reviens vers vous pour vous dire les étendues de la réussite (ou du désastre :) )
a bientôt
et merci pour le coup de main
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 685
Messages
2 090 942
Membres
104 703
dernier inscrit
romla937