Variable dans un nom de fichier (excel 2010)

Fermé
El-sol - 30 sept. 2013 à 15:15
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
- 3 oct. 2013 à 22:06
Bonjour,

Dans un fichier, j'ai des formules qui vont chercher des données dans des états financiers d'une trentaine de compagnies, exemple:

=+'K:\COMPAGNIE UNTEL oct 2013\[EF 2013-08 COMPAGNIE UNTEL.xlsx]Sommaire'!$C$18

donc, ma formule va chercher dans le répertoire K, dans la compagnie untel dont leur année fiscale se termine en octobre 2013 (bien important), et dans le fichier nommé EF 2013-08 COMPAGNIE UNTEL.

Comme mon fichier sera traité qu'une fois les EF de toutes les compagnies soient terminés, j'ai donc créé une macro pour que les mois dans les formules se changent tous, soit changer -08 pour -09 quand ils seront tous rendus en septembre.

Le hic, c'est que lorsqu'une compagnie change d'année fiscale, le nom du début de la formule devrait changer pour K:\COMPAGNIE UNTEL oct 2014. Mais comme je ne veux pas à avoir à changer les années manuellement dans chaque formule (il y en aurait trop) et je ne peux pas non plus les changer tous en même temps avec recherche/remplace, car les compagnies ne changent pas d'année fiscale tous en même temps, est-il possible de mettre une variable à la place de oct 2014 ?

merci

16 réponses

gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
30 sept. 2013 à 21:58
Bonjour,

Avec INDIRECT il est possible d'utiliser une variable en A1 par exemple
=INDIRECT("'K:\COMPAGNIE UNTEL "&A1&"\[EF 2013-08 COMPAGNIE UNTEL.xlsx]Sommaire'!$C$18")

Cependant, cela ne résout pas le changement d'EF pour chaque compagnie et si tu as l'information tu peux aussi l'utiliser dans ta macro pour faire la modification.
1
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
30 sept. 2013 à 22:19
Merci gbinforme, salutations.
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
30 sept. 2013 à 22:31
Bonsoir Le Pingou,

Nous allons attendre que le sujet murisse un peu.

Bien cordialement.
0
désolée de ne pas être aussi calée que vous tous en Excel. Je ne savais pas que ce que je cherchais s'appellait un caractère générique. Si j'avais su, c'est ce que j'aurais demandé dès le départ. Et si je viens poser des questions ici, c'est justement parce que je ne sais pas si ce que je cherche existe. Désolée aussi de t'avoir offensé.
Et je ne traite personne de bouché, j'ai toujours apprécié les réponses que je trouve sur ce site et ce, depuis des années.
C'est juste que je suis découragée justement parce que je ne trouve pas les mots pour expliquer comme il faut ce que je cherche.
Mais finalement, tu as trouvé le mot qu'il fallait, c'est le caractère générique.

Alors, je reviens à la case départ, est-ce que ça existe un caractère générique pour remplacer l'année dans le nom du répertoire ? (et non dans une formule).

Et mes macros sont pour remplacer les mois des noms de fichiers qui sont dans les formules et non pour changer l'année dans le nom des répertoires car je ne peux pas les changer, certains se nomment 2013 et d'autres 2014.

merci
1
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
3 oct. 2013 à 16:35
Bonjour,
Simple question en marge, comment vous faites pour savoir les quels se nomment 2013 et d'autres 2014 ?
Salutations.
Le Pingou
0
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
30 sept. 2013 à 21:44
Bonjour,
Ou se trouvent exactement les formules, dans quel classeur, colonne... ainsi que la formule complète... !
Eventuellement un exemple du fichier sur https://www.cjoint.com/ et poster le lien !

0
ça n'a pas d'importance, la feuille ou la colonne.
Et je ne peux pas mettre un exemple du fichier car il n'est pas encore bâti.
C'est ce que j'essaie de faire présentement.

si j'ai un fichier qui s'appelle Compagnie ABC 2013 et un autre qui s'appelle Sommaire Compagnies, et que dans ce 2e fichier, je met une formule pour aller chercher des montants qui sont dans le premier fichier, même s'il est fermé, ma formule est =+[Compagnie ABC 2013]Feuil1!$A$1
Mais l'année 2013 va devenir 2014 à un moment donné. Je veux remplacer le 2013 dans ma formule pour y mettre une variable.

Comme je disais, on a une trentaine de compagnies, donc pleins de formules qui comprennent ces compagnies qui, à un moment donné dans l'année, changera d'année fiscale pour devenir 2014 mais pas tous en même temps, chaque mois a son lot de changement. Faut que la formule ne distingue pas l'année.

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ça ne fonctionne pas. Ça me met un message d'erreur de formule.
Mais je ne comprends pas le "&A1&" dans le nom du fichier pour remplacer l'année. L'année n'est pas écrite en A1 dans le fichier. L'année fait partie du nom du fichier. Je veux que ça prenne en référence le début du nom du fichier et ignorer la fin du nom.

merci
0
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
Modifié par Le Pingou le 1/10/2013 à 16:32
Bonjour El-sol,
Eh bien là, ça ne fonctionne pas ne veux strictement rien dire.
Dans votre classeur [Sommaire Compagnies] vous utilisez une cellule de votre choix (par exemple [D25]) ou vous insérer l'année de votre choix et vous remplacez dans la formule , proposée par gbinforme / salutations, Le ["&A1&"] par ["&D25&"]...


Salutations.
Le Pingou
0
Ok, ça y est presque.
ça fonctionne mais c'est pas tout à fait ça que je veux.
Oui, la variable fonctionne, mais ça m'oblige à écrire 2013 en A1 alors que, comme j'ai précisé, certains vont devenir 2014, et pas tous en même temps. La variable doit vouloir dire "peu importe l'année qui est écrit là", ou bien "ignorer l'année qui est écrit là".
tu comprends ?
Sinon, je serai obligé d'aller modifier la référence de chaque formule de chaque compagnie pour dire, ben celle-là est devenu 2014 mais pas l'autre, etc...
Je veux qu'il y ait le moins de manipulation possible.
Si je ne peux pas mettre une variable dans le nom du fichier, alors il faudra qu'il y en ait une dans A1. Au lieu de mettre 2013, que puis-je mettre là à la place ?

Mais je constate autre chose par contre. Si je garde ma formule intacte, soit avec 2013 dans le nom du fichier, ça va chercher l'info même si ce fichier est fermé. Alors qu'avec la variable "&A1&", ça fonctionne que si l'autre fichier est ouvert en même temps. Ce qui n'est pas le but. Sinon, ça nous obligerait à ouvrir 30 états financiers pour faire fonctionner ce fichier. C'est moche :(
0
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
1 oct. 2013 à 17:37
Bonjour,
Oui, bon, mais au fait nous ne savons même pas ce que vous voulez avoir comme résultats dans votre [Sommaire Compagnies] .... L'année en cours, année précédente ..... !
0
C'est toujours l'année en cours, le mois en cours, indépendamment de la période fiscale de chacun.
Si la compagnie ABC, son année fiscale se termine en novembre 2013, le répertoire où se trouve ses EF sont dans Compagnie ABC nov 2013.
La compagnie DEF, son année fiscale est en décembre 2013, et GHI en avril 2014.
Donc, dans mon fichier qui les regroupe tous, mettons qu'on est en août.
On veut voir les résultats des mois d'août de tous.
La compagnie ABC, même si elle est rendue dans SA période 9, on ne se réfère pas à sa période fiscale mais au mois. Ses EF se nomment comme les autres: EF 2013-08.
Mais quand on sera rendu à regrouper les mois de décembre de tous, la compagnie ABC, son répertoire se nommera alors Compagnie ABC nov 2014, et ses états financiers: EF 2013-12 comme tous les autres. Mais la compagnie DEF est encore dans son année fiscale se terminant en 2013. C'est pour ça que je veux que les recherches des EF dans les répertoires ignorent l'année qui est écrite, car il y en aura qu'une seule à la fois (année fiscale), car quand une année est terminée, on la met ailleurs.
Je veux mettre une variable comme quand on fait une recherche dans certains programmes, par exemple, dans lesquels la recherche avec les accents ne fonctionnent pas alors on remplace l'accent dans un mot par un point d'interrogation ou un astérisque.
Existe-t-il quelque chose du genre pour remplacer le 2013 ou 2014 par "?" ou * * ou n'importe quoi d'autre ?
Je ne pensais pas que c'était si compliqué d'expliquer ma demande :(
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
2 oct. 2013 à 23:03
Bonjour à tous,

Je ne pensais pas que c'était si compliqué d'expliquer ma demande

Autant dire que nous sommes particulièrement bouchés...
Lorsque l'on utilise le bon vocabulaire, c'est plus facile pour avoir une réponse rapide, et comme tu nous demandes "une variable" au lieu d'un Caractère générique, il ne faut pas t'étonner que l'on te propose une variable. Ceci d'autant mieux qu'il n'est pas possible d'utiliser des caractères génériques dans une formule avec lien de classeur ou lien hypertexte : que ferait excel s'il avait plusieurs répertoires répondant parfaitement au générique ?

j'ai donc créé une macro pour que les mois dans les formules se changent tous

Puisque tu as déjà une macro pour le mois, il te faut rajouter une fonction de recherche du répertoire pour chaque formule : si tu veux un canevas, il suffit de demander en nous donnant ce que tu as déjà fait.
0
je l'ai décrit plus haut.
C'est lorsqu'une compagnie change d'année fiscale. Son répertoire où se trouve tous ses fichiers porte le nom de l'année et le mois du dernier mois de sa fin d'année fiscale.
Présentement, il y en a qui sont en 2013, il y a du septembre, du octobre, du novembre et du décembre. Et ceux qui sont rendus en 2014, finissent en janvier, février, etc...
Donc, une compagnie nommée janvier 2014 par exemple, ça veut dire que son année fiscale est du 1er février 2013 au 31 janvier 2014.
Et dans mon fichier où je veux regrouper des données de leurs états financiers, si je veux les données de septembre, ils ont tous des états financiers datés de septembre 2013, mais certains sont dans leur répertoire de 2013 et d'autres 2014. C'est pour ça que dans mes formules, pour dire où se fait les recherches des fichiers, il faut que ça ignore l'année qui fait partie du nom du répertoire, car ça va changer et à chaque mois, il y en a qui change.
0
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
Modifié par Le Pingou le 3/10/2013 à 18:16
Bonjour,
Eh oui bien sûr, mais une dernière fois
comment vous faites pour savoir le quel est le bon celui qui se nomment 2013 et l'autres 2014 ?
Salutations.
Le Pingou


Salutations.
Le Pingou
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
3 oct. 2013 à 18:25
Bonjour,

Désolée aussi de t'avoir offensé.

Cela n'est pas le cas, mais au 16ième échange tu n'as toujours pas beaucoup évolué, malgré beaucoup de textes.Je maintiens ce que je te dis plus haut "Puisque tu as déjà une macro pour le mois, il te faut rajouter une fonction de recherche du répertoire pour chaque formule "

mes macros sont pour remplacer les mois des noms de fichiers qui sont dans les formules et non pour changer l'année

Et pourquoi ne ferait-elles pas les deux ?
Leur but est de trouver le bon fichier et si l'on combine le nom du répertoire et le nom du fichier, ce ne serais pas aussi bien ?
Si tu pouvais nous mettre la tienne, je rajouterais le répertoire qui est pratiquement écrit.
0
zut, je viens de poster une longue réponse et j'ai pourtant validé mais ma réponse n'apparaît pas.
J'ai pas envie de tout réécrire.
je veux juste savoir quel est le caractère générique à mettre dans ma formule, svp. J'ai pas envie de vous donner un cours de comptabilité. please :(
ma formule est:
=+('K:\COMPAGNIE UNTEL oct 2013\[EF 2013-08 COMPAGNIE UNTEL.xlsx]Sommaire'!$C$18)

c'est quoi qu'il faut que j'écrive à la place de oct 2013 ???
merci
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
3 oct. 2013 à 20:35
J'ai vraiment l'impression que tu écris beaucoup mais que tu oublies de lire car plus haut je t'avais dit : "il n'est pas possible d'utiliser des caractères génériques dans une formule avec lien de classeur ou lien hypertexte : que ferait excel s'il avait plusieurs répertoires répondant parfaitement au générique ?"

je veux juste savoir quel est le caractère générique à mettre dans ma formule

Si quelqu'un te le donne et qu'il fonctionne, n'hésites pas à me le communiquer car j'aime bien les nouveautés. ;-)
Comme tu ne veux pas de ma macro, cela simplifierait tout effectivement.
0
et comment je pourrais mettre ça dans ma macro ?
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
3 oct. 2013 à 21:55
Comme d'habitude en ajoutant du code : c'est ainsi que fonctionnent les macros.
0
Le Pingou
Messages postés
11016
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
20 mai 2022
1 280
3 oct. 2013 à 22:06
Bonjour,
Question idiote, est-ce que cette macro existe ...... Si oui pourquoi ne pas en mettre une copie....!
0