Copier / couper / coller des fichiers !!!

Signaler
Messages postés
31
Date d'inscription
mardi 5 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2013
-
Messages postés
31
Date d'inscription
mardi 5 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2013
-
j'aimerais savoir comment faire pour copier coller couper des fichiers sachant que j'ai sur mon prog 2 liste box, la 1 avec la liste des fichiers et la 2 représente l'endroit ou il devra etre copier
dans la premiere je selectionne le fichier et apres il faut qu'en appuyant sur un command button le fichier selectionner soit copier dans un autre repertoire
merci

7 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Bonjour,

Utilise l'ordre fso.MoveFile "c:\tmp\test.txt", "c:\temp"
0
Messages postés
31
Date d'inscription
mardi 5 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2013

merci mais en fait je debute en VB et j'ai un message d'erreur qui me dis variable fso non definie...
et comment faire pour copier un fichier "selectionner" car dans l'example que tu m'a donner il faut connaitre le nom du fichier mais si je le connait pas comment doit je faire...car le fichier je le selectionne dans la listbox1 et seulement apres je le copie...
merci
0
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Alors procédons par ordre.
Tout d'abord, il faut que tu définisse fso. Pour le faire : Clique sur Projet/références... ensuite, coche l'entrée "Microsoft Scripting Runtime".
Ainsi, ton programme reconnaîtra fso.

Ensuite, crée une variable de type FileSystemObject en tapant ceci :

Dim FSO_file as new FileSystemObject

Pour accèder ensuite à l'objet fso, il te suffit de taper

FSO_file.Movefile LE_NOM_DU_FICHIER, LA_DESTINATION

Voilà pour ce qui est de la copie du fichier.

Maintenant, pour définir le nom du fichier et sa destination, le mieux c'est de faire appel à un contrôle FileListBox pour le nom du fichier et un contrôle DirListBox pour la destination au lieu de deux simple listbox.
Pour obtenir le nom du fichier par un filelistbox, il suffit de taper ca :

LE_NOM_DU_FICHIER = FileListBox.filename

Et pour obtenir la destination, il suffit de taper ca :

LA_DESTINATION = Dirlistbox.path

Voilà, si tu as un problème, répond à ce message.

DARK SIDIOUS
0
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Attention, je fais du VBScript et non du VB.
Donc, je risque de t'induire en erreur.
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Ci-dessous, un code simple utilisant les méthodes FSO et SHELL

' Script EuroFactor_Delete Files Rapports-JUPITER.vbs
'
' Suppression des fichiers de la veille
' dans c:\Rapports-JUPITER
' Cette procédure est associée au Planificateur de tâches

Dim jour, jour1, jour2
Dim fso, wSrce
Dim dossier, fichier, fichiers
Dim WshShell, strList, verif

wSrce = "c:\Rapports-JUPITER"

'''
''' Création des variables de dates
'''
jour = DatePart("w", Date)
jour1 = Array("Samedi","Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi")
jour2 = jour1(jour)

'''
''' Delete des fichiers en fonction du jour
'''
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(wSrce)
Set fichiers = Dossier.Files
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\WINDOWS\EXPLORER.EXE /n,/e," & wSrce
WScript.Sleep(1000)

For Each fichier in fichiers
Select Case jour2
Case "Lundi"
IF Left(fichier.name,5) = "Vendr" Then
strList = strList & vbcrlf & fichier
fso.DeleteFile(fichier)
End If
Case "Mardi"
IF Left(fichier.name,5) = "Lundi" Then
strList = strList & vbcrlf & fichier
fso.DeleteFile(fichier)
End If
Case "Mercredi"
IF Left(fichier.name,5) = "Mardi" Then
strList = strList & vbcrlf & fichier
fso.DeleteFile(fichier)
End If
Case "Jeudi"
IF Left(fichier.name,5) = "Mercr" Then
strList = strList & vbcrlf & fichier
fso.DeleteFile(fichier)
End If
Case "Vendredi"
IF Left(fichier.name,5) = "Jeudi" Then
strList = strList & vbcrlf & fichier
fso.DeleteFile(fichier)
End If
End Select
Next
WScript.Sleep(1000)
WshShell.SendKeys "%{F4}",true
WshShell.Run "C:\WINDOWS\EXPLORER.EXE /n,/e," & wSrce
WScript.Sleep(2000)
WshShell.SendKeys "%{F4}",true
Verif = WshShell.Popup(strList & vbcrlf & vbcrlf , 5, "Fichiers supprimés du répertoire : " & wSrce)
0
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Alors là DARKSIDIOUS chapeau pour l'explication !!!! Tu es prof ........... si non, tu vas le devenir.......
A +. jean-marc
0
Messages postés
31
Date d'inscription
mardi 5 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2013

j'ai toujours une erreur et je voudrais savoir si la syntaxe est bonne (en fait j'avais bien 2 filelistbox et non 2 listbox, j'ai fait une erreur tout a l'heure)

Dim FSO_file As New FileSystemObject
Dim fichier
Dim dest

fichier = list.FileName
dest = DirDirect1.Path
FSO_file.MoveFile fichier, dest

l'erreur se trouve à la dernière ligne
FSO_file.MoveFile fichier, dest
0
Messages postés
31
Date d'inscription
mardi 5 novembre 2002
Statut
Membre
Dernière intervention
16 juin 2013

En tout cas je vous remercie de m'avoir aider,
il ne me manque plus que la syntaxe de la derniere ligne pour que ca marche
merci
0