Renommer un répertoire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris427

XLDnaute Junior
Bonjour à tous,

Comment puis-je renommer un répertoire qui contient des sous-répertoires, qui eux mêmes contiennent des fichiers reliés entre eux par des formules.

Je schématise :

Répertoire ETUDE

- fichier compilation des résultats entreprises

- sous-répertoire SECTEUR A
- fichier entreprise 1
- fichier entreprise 2
- fichier entreprise 3

- sous-répertoire SECTEUR B
- fichier entreprise 4
- fichier entreprise 5
- fichier entreprise 6

Dans ce schéma, je cherche à renommer le répertoire ETUDE en ETUDE2008, et chaque année, pouvoir le renommer avec l'année, car ensuite je devrais faire des comparaisons entre les fichiers se trouvant dans ETUDE2008 et ETUDE2009

Les fichiers entreprises regroupent des formules faisant appels les uns aux autres (ça permet de comparer les entreprises).
Le fichier compilation des résultats entreprises reprend des informations des fichiers individuels des entreprises, qui eux reprennent des information de ce fichier compilation.

En bref, tous mes fichiers sont reliés les uns aux autres, et à double sens.

Si je renomme le répertoire ETUDE, toutes mes formules ne sont plus bonnes car le nom de ce répertoire est dans le chemin d'accès inscrits dans les formules (les liaisons en fait).

Si j'avais juste 6 entreprises, je pourrais modifier chaque formule à la main, mais en réalité, j'ai 10 sous-répertoires et 70 fichiers au total.

Comment faire donc pour renommer le répertoire ETUDE et que les formules de tous les fichiers se changent automatiquement ?

Je suis ouverte à toute solution car là, je craque.

Merci par avance,

Chris
 
Re : Renommer un répertoire

Bonjour chris427,

Voici une méthode à suivre strictement.

1) S'assurer au départ que le nom du répertoire principal est le même que celui qui se trouve dans tous les liens ("ETUDE" par exemple).

2) Mettre la macro suivante dans le ThisWorkbook du fichier principal de compilation :

Code:
Private Sub Workbook_Open()
Dim Dossier(), Txt$, TxtPrec$, i As Byte, FChemin$, NomFich$, ws As Worksheet
[COLOR="Red"]Dossier = Array("SECTEUR A", "SECTEUR B") 'liste des sous-répertoires[/COLOR]
Txt = ThisWorkbook.Path
On Error Resume Next
TxtPrec = [CheminPrec]
If Txt <> TxtPrec And TxtPrec <> "" Then 'si changement du chemin d'accès
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  
  For i = 0 To UBound(Dossier)
    FChemin = Txt & "\" & Dossier(i) & "\"
    NomFich = Dir(FChemin & "*.xls") '1er fichier du dossier
    While NomFich <> ""
      Workbooks.Open FChemin & NomFich
      For Each ws In Workbooks(NomFich).Worksheets
        ws.Cells.Replace TxtPrec, Txt 'remplacement du chemin d'accès précédent
      Next
      Workbooks(NomFich).Close True ' fermeture du fichier
      NomFich = Dir 'fichier suivant du dossier
    Wend
  Next
  
End If
ThisWorkbook.Names.Add "CheminPrec", Txt 'nom défini dans le fichier
ThisWorkbook.Save
End Sub

3) Enregistrer, fermer le fichier puis le rouvrir : cela crée le nom CheminPrec dans le fichier (menu Insertion-Nom-Définir).

4) Fermer Excel, modifier le nom du répertoire principal, rouvrir le fichier. Toutes les formules des fichiers sont alors mises à jour.

Edit 1 : pour adapter la macro, il suffit de compléter la liste des sous-répertoires (en rouge).

Edit 2 : dans les sous-répertoires, il ne faut pas qu'un fichier ait le même nom que celui du fichier de compilation 😉😉

A+
 
Dernière édition:
Re : Renommer un répertoire

Re,

La macro précédente ne fonctionnait pas correctement, je viens de la modifier.

Je l'ai testée, mais voyez si elle fonctionne bien chez vous.

Edit : encore modifié la macro car il n'y a pas à mettre à jour le chemin d'accès dans le fichier principal de compilation, cela se fait tout seul...

A+
 
Dernière édition:
Re : Renommer un répertoire

Bonjour Job75,
Désolée de ne pas avoir répondu plus tôt... Je n'ai pas eu le temps de venir sur le site depuis un bail... comme pas eu le temps de régler ce problème. Je vais donc suivre tes conseils et utiliser ta macro.
Je t'en donne des nouvelles au plus tôt.
Merci encore pour ton aide,
Chris
 
Re : Renommer un répertoire

Bonjour Job75,

Je suis sur mon dossier, (enfin !) et donc me voilà de retour...

Bon je pars de loin : le ThisWorkbook du fichier principal de compilation c'est quoi ?
J'imagine, qu'ici le fichier principal de compilation, c'est le " fichier compilation des résultats entreprises"


Me manque juste Thisworkbook, ensuite je devrais être capable de me débrouiller pour installer la macro et l'exécuter...

Merci encore

Chris
 
Re : Renommer un répertoire

Bonsoir chris427,

J'imagine, qu'ici le fichier principal de compilation, c'est le " fichier compilation des résultats entreprises"

Exact, et il est dans le répertoire "ETUDE".

Me manque juste Thisworkbook

- aller dans VBA par Alt+F11

- à gauche se trouve la liste des feuilles du VBAProject, si cette liste n'apparaît pas, menu Affichage => Explorateur de projets

- double-clic sur ThisWorkbook et coller la macro dans la feuille.

A+
 
Re : Renommer un répertoire

Hello Job75,
ouch ouch, tout cela me paraît très compliqué.
J'ai repensé le problème depuis le début et peut-être qu'il y a une manière plus simple.
Admettons que je renomme mon répertoire à la main directement dans l'explorateur, exemple : année_2008 en année_2009.

Ensuite, l'idée serait de modifier, dans toutes les différentes formules, seulement l'expression "C:\année_2008\...." en "C:\année_2009\...."

(le répertoire est sous C: car on est plusieurs à travaille dessus et ça évite les problèmes avec les chemins d'accès).

Donc est-ce que ça ne serait pas plus simple comme ça ?
Maintenant, il faut trouver la macro qui modifie, dans mes 70 fichiers, toutes formules qui contient "C:\année_2008\...." en "C:\année_2009\...."

Est-ce que ça a du sens ?

Merci par avance pour ton aide.

Chris

Edit : entre temps, je suis passée de Excel 2003 en Excel 2007
Est-ce que ça change les macros ?
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 B
Réponses
10
Affichages
412
  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
290
Retour