Selectionner Fichier --> deplacement et rennomage auto
Bonjour j'ai quelques problémes avec mon vba j'ai cherché pendant des jours sans réponse je souhaiterai à partir d'un bouton ouvrir l'explorateur afin de selectionné un fichier nimporte ou dans mon ordi pour ensuite qu'il ce deplace automatiquement dans un certain dossier et sous dossiers qui seront renseigné préalablement par des case text dans un userform pour vous donner une petite idé a quoi sa doit ressemblé :
Dim fichier As String
Date_txt as string
Reference as string
fichier = Application.GetOpenFilename "emplacement du fichier au depart"
CopyFolder "fichier" , "C:/classement/Date_txt/Reference.pdf "copie du fichier et renommé en fonction du nom de ref"
voila voila merci d'avance enfin si c'est réalisable
Bonjour,
Une piste :
Sub Test()
Dim Fso As Object
Dim Fich As String
Dim DosDestination As String
'dossier recevant la copie
DosDestination = "D:\Mon dossier de destination\"
'création de l'objet FileSystemObject
Set Fso = CreateObject("Scripting.FileSystemObject")
'appel de la fonction pour le choix du fichier
'si pas d'argument, ça sera le lecteur C qui sera ouvert
'sinon, passer un chemin en argument du style "D:\Mon Dossier 1\Mon Dossier 2\"
Fich = Fichier()
'si pas de choix, fin...
If Fich = "" Then Exit Sub
'effectue la copie
Fso.CopyFile Fich, DosDestination
End Sub
Function Fichier(Optional Dossier As String = "C:\") As String
With Application.FileDialog(3) 'fichiers
'seulement les fichiers avec les extensions précisées (adpater)
.Filters.Clear
.Filters.Add "Classeurs Excel", "*.xls; *.xlsx; *.xlsm"
.InitialFileName = Dossier
.AllowMultiSelect = False '1 seul
.Show 'affiche la boite
If .SelectedItems.Count <> 0 Then
Fichier = .SelectedItems(1)
Else
Fichier = ""
End If
End With
End Functiondesole mais vu que je suis pas doué sur le vba et que tu me donne que des truc nouveau je comprend rien xD
Que veux-tu dire par "que des trucs nouveaux" ?
CopyFolder c'est pour copier des dossiers mais tu parles de fichiers dons il faut utiliser CopyFile !
Il y a un seul endroit où tu dois adapter, c'est de remplacer cette chaine "D:\Mon dossier de destination\" par le chemin du dossier où tu veux coller tes fichiers. Pour ça, tu vas dans l'explorateur Windows, tu sélectionnes ton dossier de destination puis curseur dans la barre d'adresse et copie du chemin ensuite, collage de ce dernier entre les guillemets avec ajout de l'anti-slash de fin.
Et bien sûr, collage de tout le code dans un module standard (Insertion-->Module), tu mets le curseur n'importe où dans la procédure "Test" puis tu appuis sur F5 là, tu va avoir la boite de dialogue qui va s'ouvrir et tu vas pouvoir aller chercher le fichier (il est possible d'en sélectionner plusieurs, dis moi si c'est le cas, j'adapterai le code) que tu veux coller dans le dossier de destination.