Boucler une copie de fichier avec destination variable

Bonjour,

Après plusieurs essais non concluant, j'aurais besoin de votre aide.

j'ai un dossier avec un fichier Toto.xlsm dans un dossier.

C:\Users\pascal\Desktop\source\Toto.xlsm

Je voudrais coller le fichier "Toto.xlsm" dans une série (nombre variable) de dossiers.

C:\Users\pascal\Desktop\destination\a

C:\Users\pascal\Desktop\destination\b

C:\Users\pascal\Desktop\destination\c

C:\Users\pascal\Desktop\destination\d

C:\Users\pascal\Desktop\destination\e

etc...

J'ai trouvé un code pour coller un fichier dans un dossier mais je n'arrive pas a boucler la série qui fonctionne mais mais uniquement sur un fichier.

Sub CopierFichier()

Dim fso As Object, Src$, Dest$, Fich$

Set fso = CreateObject("Scripting.FileSystemObject")

Src = "C:\Users\pascal\Desktop\source\"

Dest = "C:\Users\pascal\Desktop\destination\a\"

Fich$ = "Toto.xlsx"

fso.CopyFile Src & Fich, Dest & Fich

End Sub

Est ce que vous auriez un tuyau?

Merci d'avance:)

bonsoir,

une proposition

le code fait l'hypothèse que tous les répertoires de destination existent préalablement à l'exécution de la macro.

Sub CopierFichier()
    Dim fso As Object, Src$, Dest$, Fich$, i, repertoire
    repertoire = Split("a,b,c,d,e,", ",") ' adapter la liste des répertoires de destination
    Set fso = CreateObject("Scripting.FileSystemObject")
    Src = "C:\Users\pascal\Desktop\source\"
    Dest = "C:\Users\pascal\Desktop\destination\"
    Fich$ = "Toto.xlsx"
    For i = LBound(repertoire) To UBound(repertoire)
        fso.CopyFile Src & Fich, Dest & repertoire(i) & "\" & Fich
    Next i
End Sub

Déjà merci de votre réponse

Le soucis se trouve au Niveau de:

repertoire = Split("a,b,c,d,e,", ",") ' adapter la liste des répertoires de destination

Le nom est aléatoire et je ne connais pas à l'avance le nom de destination(repertoire)

Il faudrait que je boucle en fonction du nombre de fichiers qui se trouve dans le dossier.

Cela complique la requête

Bonsoir Loulou67500

Voici le code dont tu as besoin, je pense

Sub CopierFichier()
  Dim fso As Object, Src$, Dest$, Fich$
  Dim oFolder As Object, oSubFolder As Object
  Set fso = CreateObject("Scripting.FileSystemObject")
  Src = "C:\Users\pascal\Desktop\source\"
  Dest = "C:\Users\pascal\Desktop\destination\"
  Fich$ = "Toto.xlsx"
  ' Dossier des destination
  Set oFolder = fso.GetFolder(Dest)
  ' Sous-dossier dans ce dossier
  For Each oSubFolder In oFolder.subfolders
    fso.CopyFile Src & Fich, oSubFolder.Path & "\" & Fich
  Next oSubFolder
  ' Effacer les variables objet
  Set oFolder = Nothing
  Set fso = Nothing
End Sub

A+

Comment dire..... BRAVO!!!!!

Marche exactement comme je le voulais.

Merci beaucoup de votre aide

le sujet peut être clôturé

Rechercher des sujets similaires à "boucler copie fichier destination variable"