Changement mensuel des sources (liaisons externes)
Bonjour,
Je suis actuellement en stage en controlling et j'ai très souvent à faire avec des fichiers de consolidation pour effectuer des prévisions. Ces fichiers regroupent les données de plusieurs projets, chaque projet ayant sa propre feuille dans le fichier de consolidation. Cependant chaque mois (enfin trois fois par mois en fois en function d'un cycle) je dois donc creer un nouveau fichier de consolidation avec les donnees des fichiers source à jour. Je precise que l'emplacement de ces fichiers source changent aussi chaque mois en fonction de la periode et que donc il n'est pas possible d'utiliser un simple updatevalue
Je cherche donc a creer une macro qui me permettrai de mettre a jour toutes liaisons des fichiers sources en fonction de la periode et du cycle (ces deux elements sont inscrit séparement dans une cellule).
D'habitude je trouve mes responses ou de quoi m'aider sur les topics de forum comme celui-ci mais pour ce sujet j'ai pas trouver.
Ci dessous ce que j'actuellement tenté. Cependant je ne vois pas comment faire reference au lien actuel (qui changera donc a chaque utilisation de la macro).
Sub UpdateLinks1_to_6()
'
' UpdateLinks1_to_6 Macro
' Update Neptune, Minerva, LOG UK, LOG DK, Tower, Rapid source file link
'
'
ActiveWorkbook.ChangeLink Name:= _
"C:\departments\Controlling\Forecast FY18\Consolitation Other Items\07. P8\02. U+3\01 -Neptune - Operational Units_Consolidation template U+3.xlsx" _
, NewName:= _
"adresse.com/departments\Controlling\Forecast FY18\Consolitation Other Items\" + Sheets("Ops Units").Range("B7").Value + "\" + Sheets("Ops Units").Range("E4").Value + "\01 -Neptune - Operational Units_Consolidation template " + Sheets("Ops Units").Range("E1").Value + ".xlsx" _
, Type:=xlExcelLinks
Sheets("1.Neptune").Select
End SubLe 07.P8 fait reference au dossier du mois/periode et le 02. U+3 fait reference au dossier du cycle.
Il y a uniquement de quoi faire pour une update réferant à une feuille/projet dans mon code ci dessus, mais je pourrai ensuite adapter et pour prendre en compte les autres feuilles une fois le code correct.
Cette macro pourrait me faire gagner enormement de temps et s'applique sur bon nombre de mes fichiers.
Merci d'avance pour votre aide !
Bonjour,
Pas sûr d'avoir totalement compris le souci.
Je dirais en premier lieu que si l'emplacement des fichiers source changent il faudrait au moins savoir ce qui est commun --> departments\Controlling\Forecast FY18\Consolitation Other Items\ ???
Question --> C'est pas "consoliDation" ??
Dans newname on voit ceci --> adresse.com/ --> ce n'est plutôt adresse.com\ ??
Par contre, il y a des choses que j'éviterais absolument que ce soit pour faire du code comme pour nommer des fichiers ou dossiers
- Les espaces entre les noms des dossiers --> 07. P8
- Pire, les points dans le nom des dossiers. A éviter absolument !! c'est la cata en cas de plantage de votre disque dur. Oublier pas que le point est utilisé pour les extensions de fichiers
- Idem pour les noms de fichiers
Avec un fichier exemple ce serait probablement plus simple
Cordialement
Merci de ta réponse
En effet ce qui est commun est bien --> departments\Controlling\Forecast FY18\Consolitation Other Items\
Après verification c'est bien consoliTation, je n'avais pas remarqué mais ca m'a surprise aussi.
Pour ce qui est des "/" et "\" je ne serais trop dire j'ai l'impression que lorsque c'est un lien internet les slash sont tous de ce sens: "/"
Et lorsqu'il s'agit de mon chemin local sur mon ordinateur les slashs sont de l'autre sens: "\"
J'utilise des fichier de test en local lorsque je veux tester mes macros mais en definitive le fichier sera bien sur un serveur.
La Macro actuelle me permet bien de mettre les liens a jour de facon dynamique pour la nouvelle adresse cependant pas pour l'ancienne.
Je m'explique : Je dois creer un nouveau fichier de consolidation chaque mois a trois date ( en U-6, U+3, et Version Final) a partir de fichier source de la meme date.
là lorsque je construit mon fichier consolidation en U+3, j'utilise le fichier consolidation de la date precedente (U-6) comme template. Donc les donnees sont encore liés aux fichier sources en U-6. Grace au code actuel, je peux mettre a jour mon fichier consolidation avec toutes les donnees source de U+3 mais uniquement parce que je connais le chemin d'acces des donnees sources. Aprés lorsque je passerai de U+3 a Version Final je ne pourrai plus reutiliser la macro car elle ira chercher la source "ancienne" en U-6 alors que l'ancienne sera a present U+3 et la nouvelle --> Version Final.
Sachant que le but est ensuite d'effectuer l'operartion pour un grand nombre de page (pas que Neptune) sinon je le ferai manuellement.
J'ai essayer de faire un exemple simplifié de mon cas dans le fichier joint: Aide_Consolidation_Macro , dans l'espoir que ca puisse t'aider.
Les fichiers aide Neptune et Minerva se trouve dans des dossier differents et en function de leur date ex(U-6 = dossier --> 01. U-6 et U+3 = dossier --> 02. U+3) je ne pouvais joinder que les fichiers, pas les dossiers
En ce qui concerce les noms des dossiers et fichiers je suis au courant qu'il vaut mieux eviter les espaces et meme les points, malheureusement la procedure est deja etablie et ce format de nom de dossier est utilisé depuis longtemps dans mon department.
J'essairai neamoins de les avertir que le format actuel peut etre contrainiant mais il faut pas s'attendre a du changement dans le court terme...
Cordialement,
Alan
bonjour
salut Dan
aujourd'hui, surtout dans les domaines de reporting, on consolide avec Power Query
pour toi il faut voir https://www.youtube.com/watch?v=gwW2CDdvUUs
ça va chercher tous les fichiers d'un répertoire donné, et ça les consolide (même s'il y en a 1000 ! )
mon conseil :
- laisser les "vieux fichiers" dans le répertoire. Avec PQuery et des TCD tu pourras faire des états par fichier, par personne, par mois, par an etc
de plus dans ton domaine il FAUT apprendre un logiciel de BI
par ex Power BI Desktop gratuit