Merci à Michd et à Isabelle Mais

Le
Bidou
Bonsoir

Merci à vous deux de votre aide .

Je n'arrive pas à avoir ce que je chercheJe rate certainement quelque
chose



Le code de MichD



Dim Source As String
Dim destination As String



'*****VARIABLES À DÉFINIR*********
Source = "E:TOTO*.xl"
destination = "d:Dossier-perso"
'**********************************



commande = Environ$("comspec") & " /c xcopy """ & _
Source & """ """ & destination & """ " & "/s/e"
Shell commande, 0



>>copie dans la destination les classeurs se trouvant dans E:TOTO mais
>>avec tout l'arborescence



Le code d'Isabelle



Dim Fich As String, Chemin As String
Dim Dossier As Object, sf
Chemin = "E:"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(Chemin)



For Each sf In Dossier.SubFolders
For Each f In sf.Files
If Right(f.Name, 4) = ".xls" Then
Set MyFile = fso.GetFile(f.Path)
MyFile.Copy ("D:Dossier-perso")
End If
Next
Next



m'affiche un message " permission refusée"
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23202511
Bonjour,

Ce problème de "permission" ne relève pas d'Excel et des procédures soumises.

C'est un truc Windows. Est-ce que tu as le statut d'administrateur sur ton ordi ?
Tu devrais adresser cette question à un forum Windows et de leur demander pourquoi
tu obtiens ce message lorsque tu tentes de manipuler les fichiers de certains répertoires.

Une petite suggestion : tu fais un clic droit sur le répertoire, menu contextuel : Propriétés
Est-ce que ce répertoire est en lecture seule ? Caché ? L'une ou l'autre de ces propriétés
empêchera la manipulation des fichiers comme tu le désires. Tu dois décocher ces 2
cases le cas échéant. Il faudrait que tu vérifies aussi les sous-répertoires... à la limite
ces caractéristiques peuvent aussi s'appliquer à chacun des fichiers...

Tu auras plus de détails sur un forum Windows...

Si tu veux tester les procédures, tu crées des répertoires à la racine de C par exemple, et tu
places dans ces derniers des fichiers. Utilise ces nouveaux répertoires comme répertoire source
et destination.



MichD
--------------------------------------------
"Bidou" a écrit dans le message de groupe de discussion : 4d7d0870$0$7722$

Bonsoir

Merci à vous deux de votre aide .

Je n'arrive pas à avoir ce que je cherche...Je rate certainement quelque
chose...



Le code de MichD



Dim Source As String
Dim destination As String



'*****VARIABLES À DÉFINIR*********
Source = "E:TOTO*.xl"
destination = "d:Dossier-perso"
'**********************************



commande = Environ$("comspec") & " /c xcopy """ & _
Source & """ """ & destination & """ " & "/s/e"
Shell commande, 0



copie dans la destination les classeurs se trouvant dans E:TOTO mais
avec tout l'arborescence







Le code d'Isabelle



Dim Fich As String, Chemin As String
Dim Dossier As Object, sf
Chemin = "E:"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(Chemin)



For Each sf In Dossier.SubFolders
For Each f In sf.Files
If Right(f.Name, 4) = ".xls" Then
Set MyFile = fso.GetFile(f.Path)
MyFile.Copy ("D:Dossier-perso")
End If
Next
Next



m'affiche un message " permission refusée"
isabelle
Le #23202761
bonjour Bidou,

j'ai testé le code de Denis "autre approche qui insère un API de Windows"
et il fonctionne très bien, pour le reste c'est une question Windows.

isabelle


Le 2011-03-13 14:10, Bidou a écrit :
Bonsoir

Merci à vous deux de votre aide .

Je n'arrive pas à avoir ce que je cherche...Je rate certainement quelque
chose...



Le code de MichD



Dim Source As String
Dim destination As String



'*****VARIABLES À DÉFINIR*********
Source = "E:TOTO*.xl"
destination = "d:Dossier-perso"
'**********************************



commande = Environ$("comspec")& " /c xcopy """& _
Source& """ """& destination& """ "& "/s/e"
Shell commande, 0




copie dans la destination les classeurs se trouvant dans E:TOTO mais
avec tout l'arborescence







Le code d'Isabelle



Dim Fich As String, Chemin As String
Dim Dossier As Object, sf
Chemin = "E:"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(Chemin)



For Each sf In Dossier.SubFolders
For Each f In sf.Files
If Right(f.Name, 4) = ".xls" Then
Set MyFile = fso.GetFile(f.Path)
MyFile.Copy ("D:Dossier-perso")
End If
Next
Next



m'affiche un message " permission refusée"



Publicité
Poster une réponse
Anonyme