Changer un nom de fichier automatiquement par une variable

Résolu/Fermé
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 - 28 déc. 2014 à 17:08
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 - 30 déc. 2014 à 14:41
Bonjour
Je travail sur excel 2010 et je réalise un classeur de comptabilité pour une association.
1- Mon problème :
Dans le bilan de compta, je réalise un écart entre l'année actuelle et l'année -1. je vais donc chercher des données dans le classeur de l'an dernier dont le nom de fichier est : '[2013_comptabilité.xlsm]bilan'E10. Dans cette feuille j'ai 30 fois cette formule. Lorsque la nouvelle année arrive, je change dans ma feuille "données" l'année d'exercice dans une cellule que j'ai nommée année_dexercice.
2- Question :
Est-il possible de placer "année_dexercice" en variable afin de remplacer automatiquement la formule de l'année précédente dans le nom de fichier (par ex [année_dexercice_comptabilité.xlsm]bilan'E10 afin de m'éviter de recopier en changeant l'année, toutes les formules pour les écarts dans le bilan et également dans la feuille compte de résultat ou j'ai la même formule.
Je pense que par une fonction, ce n'est pas possible (du moins je n'ai pas trouvé), serait ce possible par une macro VBA. je ne connais le langage, si quelqu'un peut me booster un peu de ce coté là, cela serait super..
Je vous remercie par avance de vos suggestions
Robby
A voir également:

6 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
Modifié par via55 le 29/12/2014 à 00:41
Bonsoir

C'est possible avec la fonction INDIRECT à condition que le classeur source soit ouvert en même temps que le classeur cible :

- Mettre la variable année dans une cellule, par exemple en B1
- Remplacer la formule par :
=INDIRECT("'[" & B1 & "_comptabilité.xlsm]bilan'!E10")

Bien sûr B1 peut être nommée et c'est ce nom qui sera alors mis dans la formule (utile surtout si on veut placer la donnée B1 dans un autre onglet)

Cdlmnt

"L'imagination est plus importante que le savoir." A. Einstein
0