XL 2019 besoin d aide pour le développement d'un fichier rangements vers les répertoires attitré

stef60400

XLDnaute Nouveau
bonjour a tous

voila j ai développer un fichier pour le boulot car il y a beaucoup trop de manip a faire triée les dossiers
mais je me retrouve dans l impasse sur certain éléments vu que je suis pas un pro de la Vba
donc je vais expliquer un peut le fichier et le résultat final que devrais faire

savoir si c'est possible de faire de en Automatique un dégroupage quand je fait une analyse
j'explique: Z:\OPE-MNT-Ordonnancement\TECHNIQUE\DOSSIER ARRETS USINE\Arrˆts annuels\2024\pr‚paration technique\pr‚pa fil\ELEC - 21 Travaux elec en zone\ELEC 21 - 01 sdp\GAMMES\Amoire caisses\LEPJ-MNT-N3-0084-GA.xlsx

donc le réptertoire source :Z:\OPE-MNT-Ordonnancement\TECHNIQUE\DOSSIER ARRETS USINE\Arrˆts annuels\2024\pr‚paration technique\pr‚pa fil\ELEC - 21 Travaux elec en zone\ELEC 21 - 01 sdp\GAMMES\Amoire caisses\

donc lui va dans la colonne B

le fichier: LEPJ-MNT-N3-0084-GA.xlsx et le fichier Va dans la colonne A

car dégrouper a la main c'est très long

il faudrait diviser le lien des répertoires et le noms du fichier

tu verras sur le fichier comment le résultat final que j ai fait a la main

et faudrait mettre aussi une condition je pense quand j ai un fichier LEPJ-MNT-N1- de mettre la colonne d avant le groupe GAMMES N1\ , LEPJ-MNT-N2- de mettre la colonne d avant le groupe GAMMES N2 , LEPJ-MNT-N3- de mettre la colonne d avant le groupe GAMMES N3

ensuite sur lien fichier exemple: LEPJ-MNT-N2-0225-GA Rev2.xlsx avoir que LEPJ-MNT-N2-0225 dans le tableau en colonne G

Si il y a des PDF de mettre LEPJ-MNT-N2-0225\doc et Si il y a des JPG de mettre LEPJ-MNT-N2-0225\PHOTO

en suite pour la copy on écrase si existant

l'autre problèmes quand j'ai fait: pour le repertoire cible la ou vont les fichiers cela ne fonctionne pas vu j ai mit une formule :=E3&""&F3&""&G3&""&H3 qui donne le lien mais sa fonctionne pas

ensuite il me faudrait le retour de la copy sur le tableau copy savoir si ok ou écraser ou erreur fichier de départ

puis un truc qui serai pas mal si possible pour lancer l analyse de pouvoir sélectionner le répertoire au lien de mettre dans la Vba

car une fois au point je vais pouvoir remettre a jour les répertoire sur plusieurs année en arrière la j ai mit \GA24\ pour la création mais après sa va être \GA22\ etc.. selon le répertoire sources des arrêts technique antérieur
 

Pièces jointes

  • rangement-fichier-teste3-recupere.xlsm
    268 KB · Affichages: 7

gbinforme

XLDnaute Impliqué
Bonjour,

Tu es dans ton affaire et tu sais sans doute le résultat que tu veux,
mais pour quelqu'un d'extérieur c'est le brouillard complet
car doit-on déplacer les fichiers ou seulement les noms et où ?

Personnellement je n'ai pas compris.
 

stef60400

XLDnaute Nouveau
je vais essais d être le simple possible: tu as un fichier Excel sur ton disque
c:\mes document\archive\ton fichier s appel essais.xlsx
en suite après avoir fait une macro il récupère tous très fichier et sous répertoires et les noms des fichiers
tu veux les copier sur ton disque

D:\archive2\Arret\GA24 avec ton fichier essais.xlsx

le truc c'est que je voudrais faire n est pas tres simple a expliqué non plus mais la base et au-dessus

apres la ou je suis il y a rien tres logiques Non plus et remettre les choses en ordres pas simple

en detail plus complexe:

j' ai un répertoire ou toutes les donnée d un arret est stocker

qui est :Z:\OPE-MNT-Ordonnancement\TECHNIQUE\DOSSIER ARRETS USINE\Arrˆts annuels\2024\pr‚paration technique\Prepa Fer\dossier preparation arrˆt 2024 jm leger\E 534 REMPL TRONCON PGA2022\GAMME\
et contient le fichier :LEPJ-MNT-N2-0000 .xlsx
ensuite on veut les copier

sur le répertoire: \\SRV0744\commun\OPE-MNT-Doc-STD\Technique\Gestion des gammes et des plans de maintenance\Dossier Gammes\Gammes N1 N2 N3\GAMMES N2\LEPJ-MNT-N2-0000\
qui contient le fichier: LEPJ-MNT-N2-0000.xlsx

dans le répertoires Gamme N1 N2 N3
dans le répertoire Gamme N1-->un répertoire qui s appel LEPJ-MNT-N1-0000 qui contient deja le fichier LEPJ-MNT-N1-0000 .xlsx
-->un répertoire qui s appel LEPJ-MNT-N1-0001
etc...etc...

dans le répertoire Gamme N2-->un répertoire qui s appel LEPJ-MNT-N2-0000 qui contient deja le fichier LEPJ-MNT-N2-0000 .xlsx et dans ce répertoire crée le répertoire GA24
dans chaque répertoire et recopié le fichier du Z:\OPE-MNT-Ordonnancement\TECHNIQUE\DOSSIER ARRETS USINE\Arrˆts annuels\2024\pr‚paration technique\Prepa Fer\dossier preparation arrˆt 2024 jm leger\E 534 REMPL TRONCON PGA2022\GAMME\LEPJ-MNT-N2-0000 .xlsx dans le GA24
-->un répertoire qui s appel LEPJ-MNT-N1-0001
etc...etc...

dans le répertoire Gamme N3-->un répertoire qui s appel LEPJ-MNT-N3-0000 qui contient deja le fichier LEPJ-MNT-N3-0000 .xlsx
-->un répertoire qui s appel LEPJ-MNT-N3-0001
etc...etc...

en gros le fichier LEPJ-MNT-N2-0000 .xlsx va dans le répertoire LEPJ-MNT-N2-0000 et mettre un répertoire GA24

LEPJ-MNT-N3-0000 .xlsx va dans le répertoire LEPJ-MNT-N3-0000 et mettre un répertoire GA24


chaque fichier a son répertoire

en espérant être plus clair , pour cela j avais mit le fichier qui permettrais de comprendre
 

stef60400

XLDnaute Nouveau
oui, je comprends très bien sans l environnement devant pas simple a comprendre

donc mon code de copy marche : mais c'est mettre une condition de retour de copy savoir si c est fait
ensuite au lieux de rentré le chemin complet a la main je voulais faire en addition avec la formule mais marche pas

la colonne E: contient le debut de la source : \\SRV0744\commun\OPE-MNT-Doc-STD\Technique\Gestion des gammes et des plans de maintenance\Dossier Gammes\Gammes N1 N2 N3\

la colonne F: un bout des sous répertoires : GAMMES N1\ ou GAMMES N2\ ou GAMMES N3\

la colonne G: le répertoire final : selon le nom du fichier : LEPJ-MNT-N2-0000

la colonne H: la création du répertoire GA25

ce qui fait la colonne C la source du chemin dans le répertoire a copier:

ce qui donne:\\SRV0744\commun\OPE-MNT-Doc-STD\Technique\Gestion des gammes et des plans de maintenance\Dossier Gammes\Gammes N1 N2 N3\GAMMES N2\LEPJ-MNT-N2-0000\GA25

j 'ai fait sur Excel une condition : =E2&""&F2&""&G2&""&H2 pour avoir le texte ci-dessus mais fonctionne pas

après je vais essayer de faire : une condition via le noms du fichier
je m' explique : le fichier s appel : LEPJ-MNT-N1-0000 --> N1 correspond au répertoire Gamme N1
LEPJ-MNT-N2-0000 --> N2 correspond au répertoire Gamme N2
LEPJ-MNT-N3-0000 --> N3 correspond au répertoire Gamme N3

en fessant cela sa remplirait liens répertoire automatiquement de la colonne F

et faire une recopie LEPJ-MNT-N1-0000.xlsx sans le XLSX dans la colonne G

et de gardé libre de choix en H du répertoire final

VB:
Sub CopierFichier()

Dim fso As Object
    Dim Source As String
    Dim Destination As String
    Dim LastRow As Long
    Dim i As Long

 
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
Source = Range("B" & i).Value & Range("A" & i).Value
Destination = Range("C" & i).Value

If Range("A" & i).Value <> "" And Source <> "" And Destination <> "" Then
Set fso = VBA.CreateObject("Scripting.FileSystemObject")


If Not fso.FolderExists(Left(Destination, Len(Destination) - 1)) Then
    fso.CreateFolder Destination
    Destination = Destination & "\"
End If

Call fso.CopyFile(Source, Destination)
End If
Next i

End Sub
 

Pièces jointes

  • rangement-fichier-teste3-recupere (2).xlsm
    268 KB · Affichages: 2
Dernière édition:

Statistiques des forums

Discussions
313 197
Messages
2 096 108
Membres
106 500
dernier inscrit
mmontagu