Copier coller d'un fichier excel dans un répertoire

Résolu
Thomus -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'aimerais via vba pouvoir copier un fichier nommé par exemple test_XX.xls

et le coller dans le même répertoire sous le nom test_01.xls

Voici mon code qui bien entendu ne fonctionne pas :

Sub Creerfeuille()

Dim objFSO, Repertoire, Fichier, Nomfichier As Object

Repertoire = "D:\Test\"
Nomfichier = "test_XX.xls"

Dim FSO As Scripting.FileSystemObject
Dim DossierSource As Scripting.Folder
Dim Fichier As Scripting.File

Set FSO = New Scripting.FileSystemObject
Set DossierSource = FSO.GetFolder(Repertoire)

For Each Fichier In DossierSource.Files
If Fichier.Name = Nomfichier Then ActiveWorkbook.SaveCopyAs (Repertoire + Nomfichier)
Next Fichier

End Sub


Merci pour votre aide

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Pour UN SEUL fichier :

    '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    '*
    '*      Références - Editeur VBE : « Microsoft Scripting Runtime »
    '*      Cette procédure utilise une librairie d'objets qui, par défaut,
    '*      n'est pas incluse dans l'éditeur VBE.
    '*      Il faut donc ajouter une référence à cette libraire:
    '*
    '*      Dans VBE : (pour y accéder, depuis une feuille
    '*      de votre classeur Excel, tapez simultanément ALT+F11)
    '*          - Menu:          Outils
    '*          - Choix:          Références
    '*          - Cochez : « Microsoft Scripting Runtime »
    '*
    '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    Sub DeplaceFichiersXls()
    Dim oFSO As Scripting.FileSystemObject
    Dim source As String, destin As String, NomFichierInitial As String, NomFichierFinal As String
    
    '---------------------------------------------------A ADAPTER----------------------------
    Set oFSO = New Scripting.FileSystemObject
    source = "C:\Users\moi.meme\Desktop\"
    NomFichierInitial = "Test.xls"
    destin = "F:\Mes documents\TRAVAIL\TEST\"
    NomFichierFinal = "Test_01.xls"
    '---------------------------------------------------------------------------------------------
    
    If oFSO.FileExists(source & NomFichierInitial) Then
        oFSO.MoveFile source & NomFichierInitial, destin & NomFichierFinal
    End If
    End Sub

    0
  2. Thomus
     
    Merci beaucoup,

    Cela fonctionne ;)
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      De rien.
      A+
      0