Copier / couper / coller des fichiers !!!

cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013 - 5 nov. 2002 à 11:04
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013 - 5 nov. 2002 à 12:22
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

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 nov. 2002 à 11:11
Bonjour,

Utilise l'ordre fso.MoveFile "c:\tmp\test.txt", "c:\temp"
0
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
5 nov. 2002 à 11:19
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
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 nov. 2002 à 11:28
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
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 nov. 2002 à 11:39
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 nov. 2002 à 11:43
Alors là DARKSIDIOUS chapeau pour l'explication !!!! Tu es prof ........... si non, tu vas le devenir.......
A +. jean-marc
0
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
5 nov. 2002 à 11:54
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
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
5 nov. 2002 à 12:22
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
Rejoignez-nous