Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Merci à Michd et à Isabelle Mais

2 réponses
Avatar
Bidou
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"

2 réponses

Avatar
MichD
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"
Avatar
isabelle
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"