Copier le contenu d'un dossier vers la racine d'une USB

Bonjour à tous!

Comme indiqué sur le titre du sujet j'aimerais pouvoir copier des fichiers, contenus dans un dossier, vers la racine de ma clé USB.

Tout en sachant que le dossier en question est lié à un lien hyperlink dans une cellule d'un fichier excel. Je récupère donc l'adresse de mon dossier grâce au code suivant :

sFolder = celluletrouvee.Offset(0, 2).Hyperlinks(1).Address

Puis je tente de copier les fichiers grâe à :

GestionFichier.CopyFile sFolder, "D:/"

D étant l'adresse de ma clé USB.

Mais bien évidemment ça ne marche pas!

Je pense que vous l'aurez compris je suis débutant donc si quelqu'un connait la solution....

Merci pour votre aide !

Bonjour,

à vous lire, juste une remarque : GestionFichier.CopyFile sFolder, "D:/"

pour une adresse de lecteur, utiliser l’antislash, le slash est utilisé pour des adresses internets.

Bonjour,

A noter que selon le PC la clé ne s'appellera pas forcément D:

Ici une fonction pour les retrouver :

http://boisgontierjacques.free.fr/pages_site/GestionRepertoire.htm#FonctionsDiverses

eric

Bonjour shenmue01 et bonjour à tous,

J'ai le code qu'il te faut, le voici :

Sub Demo_Copie()
' On définit un nouvel objet
Dim GestionFichier As New Scripting.FileSystemObject
Mon_Folder = Range("Mon_Lien").Hyperlinks(1).Address
'Copie du contenu complet du dossier dans "O:/Dossier_de_Reception"
GestionFichier.CopyFolder Mon_Folder, "O:\Dossier_de_Reception"
'On libère la mémoire
Set GestionFichier = Nothing
End Sub

La cellule où j'ai placé le lien pointant vers le DOSSIER est nommée "Mon_Lien".

** Pour toi le dossier de réception est "D:\"

** CopyFolder copiera tous les fichiers de ton dossier "Mon_Folder" sans que tu aies à te soucier de savoir combien il y en a et comment ils se nomment.

** Attention cependant : Si, dans le dossier de réception, il y avait déjà des fichiers de même nom que ceux du dossier "Mon_Folder", les fichiers dans le dossier de réception seront purement et simplement écrasés par les nouveaux fichiers, sans le moindre message d'avertissement.

Remarque :

Il ne faut pas oublier d'ajouter cette référence :

cap copie folder

Bonne journée à tous,

XLMent vôtre,

Joe.

Bonjour à tous,

Tout d'abord merci de votre temps et des réponses apportées.

Joe merci pour ta réponse très détaillée ! Ton code marche parfaitement ! Juste une petite question, le code me copie le dossier entièrement, il y a t-il une manip en plus pour avoir simplement les fichiers?

Merci à tous pour votre aide .

Bonjour shenmue01 et bonjour à tous,

Voici une autre procédure pour ne copier QUE les fichiers (donc sans le dossier) :

Sub Demo_Copy_All_Files()
Dim GestionFichier As New Scripting.FileSystemObject
Dim Fichier As String
Dim Mon_Folder As String
'----
Mon_Folder = Range("Mon_Lien").Hyperlinks(1).Address
    ' On sélectionne le premier fichier du dossier
    Fichier = Dir(Mon_Folder & "\" & "*.*")

' Tant qu'il y a des fichiers non traités on effectue :
      While Fichier <> ""
      'On copie le fichier dans "D:\" : ta clé USB
        GestionFichier.CopyFile Mon_Folder & "\" & Fichier, "D:\"
        ' On passe au fichier suivant
        Fichier = Dir
      Wend
    '---
'On libère la mémoire
Set GestionFichier = Nothing
End Sub

Attention : il faut bien écrire "D:\" et non "D:" sinon la copie ne fonctionne pas.

XLMent vôtre,

Joe.

merci Joe! Ton code fonctionne très bien !

Merci pour ton temps et ton aide )

Rechercher des sujets similaires à "copier contenu dossier racine usb"