XL 2013 Mkdir et copier fichier

sangarmatha

XLDnaute Junior
Bonjour,
J'ai adapté les macros ci-dessous a mon besoin: Création d'un répertoire suivant le contenu D3 (C:\TTT\), puis copie de fichiers dans celui ci mais je cale sur 2 points

Dans sub test, DéplacerFichiers, je voudrai utiliser le contenu des cellule B3 et D3 (chemin dossiers sur disque) qui peuvent varier au lieu d'une syntaxe figée (copie de fichier selon chemin en B3 vers chemin D3)

Je voudrai que les macros n'en fassent qu'une, mais quand je retire "sub et end sub" ça ne fonctionne pas....
Merci de votre aide

Sub Création_Rep()
Range("D3").Select
Dim Nom As String
Nom = ActiveCell.Value
MkDir Nom
End Sub




Sub copie()
'DéplacerFichiers "C:\CACO\", "C:\CACO\OS\"
DéplacerFichiers Range("B3").Select, Range("D3").Select
End Sub

Sub DéplacerFichiers(Dequel_dossier$, A_queldossier$)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For i = 8 To Sheets(1).Range("a65536").End(xlUp).Row
fso.CopyFile Dequel_dossier & "\" & Cells(i, 1) & ".txt", A_queldossier & "\"
Next
On Error GoTo 0
End Sub
 

Paf

XLDnaute Barbatruc
Re : Mkdir et copier fichier

Bonjour

1) la sub DéplacerFichiers(Dequel_dossier$, A_queldossier$) attend des paramètres 'string'. Faites l'appel avec
DéplacerFichiers Range("B3").Value, Range("D3").Value

2) vous pouvez supprimer la Sub copie() réunir les deux autres , et remplacer Dequel_dossier par Range("B3").Value, et A_queldossier par Range("D3").Value.

A+
 

sangarmatha

XLDnaute Junior
Re : Mkdir et copier fichier

Re bonjour,
Ok ça fonctionne, comme ci-dessous quand mes données commencent en A6..... mais je n'arrive pas à modifier pour que ma liste de fichier à copier commence en C4......jusqu'a C65536 (ou mieux s'arrête à la première cellule vide).
Merci de votre aide

Sub test()
DéplacerFichiers Range("D2").Value, Range("D3").Value
End Sub

Sub DéplacerFichiers(Dequel_dossier$, A_queldossier$)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
For i = 6 To Sheets(1).Range("A65536").End(xlUp).Row
fso.CopyFile Dequel_dossier & "\" & Cells(i, 1) & ".pdf", A_queldossier & "\"
Next
On Error GoTo 0
End Sub
 

Paf

XLDnaute Barbatruc
Re : Mkdir et copier fichier

re,

Si j'ai bien compris, ça se situe

à ce niveau:

For i = 6 To Sheets(1).Range("A65536").End(xlUp).Row

6 c'est le N° de la première ligne lue. à modifier par le N° de ligne souhaité.
A65536 'précise' qu'on doit chercher la dernière ligne renseignée de la colonne A . à modifier en C65536 pour que l'instruction détermine la dernière ligne de la colonne C.

et à ce niveau

fso.CopyFile Dequel_dossier & "\" & Cells(i, 1) & ".pdf", A_queldossier & "\"

on va copier le fichier dont le nom est en cellule de coordonnées:
i le N° de ligne
et 1 le N° de colonne donc pour la Colonne C, modifier en 3

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 219
Messages
2 086 369
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang