Parcours dossiers + ajout/renomer dossier VBA

Fermé
fonson80 - 24 janv. 2009 à 11:28
Annhydrium Messages postés 1768 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 3 mars 2011 - 24 janv. 2009 à 15:42
Bonjour,
Pour mon boulot j'ai besoin d'organiser une multitude de dossiers et de fichiers. En fait je souhaite moderniser le rangement de fichier de machines à commande numérique pour lesquelles nous disposions lorsqu'elles ont été achetées (il y a 20 ans) d'un PC et d'un programme sous dos pour sauvegarder/uploader/downloader les programmes machine. La sauvegarde des progs ne pouvait se faire que sur disquettes (10 directories par disquette avec des noms imposés du type 1-10 20-30 ... et des fichiers portant des noms identiques a l'intérieur du type 101.pap à 113.pap, 121.papà 133.pap). Ce fonctionnement obligait a avoir un tableau papier permettant de faire la liaison entre la référence à produire et le disk/dir/n° du 1er fichier pour que le régleurs puissent trouver le bon programme à utiliser.
Ce "vieux" Pc à pris son envol pour le paradis des antiquités de l'informatique et nous avons dû acheter un nouveau programme pour charger les machines mais nous avons conserver l'ancienne architecture des fichiers/répertoires. Les régleurs machines dont la plus grosse compétence, il faut bien le dire, n'est pas la rigueur ont beaucoup de difficultés à faire vivre cette architecture et à retrouver les fichiers quand il en ont besoin. Dans certain cas le temps pour régler la machine peut être doublé car ils doivent refaire le prog complet faute d'avoir retrouvé celui d'origine.

Je souhaite organiser les fichiers à plat en me basant sur la référence mais vu le nombre de fichiers, je souhaite automatiser une partie de la manipulation pour obtenir la struture suivante:

C:\Progr\Machine1\A250120\1-10\101
______|________|___________\102
______|________|___________ \ ...
______|________|
______|________\A250130\1-10\101
______|____________________ \102
______|____________________ \ ...
______ \Machine2\A250120\1-10\101

et ainsi de suite
J'ai créé à la main l'ensemble des répertoires Machine/référence. Je ne peux pas mettre les fichiers 101...directement dans les répertoires "référence" car le logiciel de chargement refuse de reconnaitre ce type de nom (je ne comprends pas pourquoi mais j'ai fait l'expérience mais il ne prends en compte les fichiers que lorsqu'ils sont dans un dossier du type 1-10, 20-30 ...) aussi je voudrait créer automatiquement pour chaque répertoire A250xxx présent dans Machinex un nouveau répertoire portant le nom 1-10.
Ensuite je devrais, à la main déplacer les bons programes dans chacun des répertoires (déjà pas mal de boulot) mais il reste un petit problème car les fichiers ne portent pas tous les noms 101.pap à 113.pap mais aussi 121.pap à 133.pap, 141.pap à 153.pap etc... aussi je souhaiterais pouvoir déplacer les fichiers en les glissant dans la nouvelle arborescence sans les renommer puis lancer une routine du type:
Pour chaque répertoire, sous répertoire et sous sous répertoire trouvé dans le répertoire Progr si

nomfichier= 121.pap alors renommer nomfichier en 101.pap
nomfichier= 131.pap alors renommer nomfichier en 101.pap
...
nomfichier= 122.pap alors renommer nomfichier en 102.pap
nomfichier= 132.pap alors renommer nomfichier en 102.pap
...

J'aimerais bien réaliser ça en VBA excel mais mes comptences en programmation ne comportent pas la connaissance des fonctions de gestion de fichier (j'ai lu pas mal de chose sur le forum mais je suis un peu larguer).

Quelqu'un peut-il m'aider à écrire le code pour parcourir les dossiers et récupérer le nom des fichiers.

Merci d'avance.

Fonson80.

2 réponses

Annhydrium Messages postés 1768 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 3 mars 2011 257
24 janv. 2009 à 11:33
oriente toi du coté du bat (avec la commande windows)
0
C'est quoi le bat ?
Pardonnez moi si c'est trivial mes je ne suis vraiment pas un spécialiste.

Fonson80
0
Annhydrium Messages postés 1768 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 3 mars 2011 257
24 janv. 2009 à 15:42
un fichier qui execute des commande ms dos (bash)

genre

@echo off
cd a:
xcopy "*.*" "C:\mon dossier\"
rename .... et lui suite
0