Copier un classeur modèle dans une liste de répertoire

gege765

XLDnaute Nouveau
Bonsoir,

Voilà, j'ai un classeur modèle appelé modèle.xlsm
Je souhaiterai sauvegarder ce modèle dans les répertoires lister en colonne A dans le classeur liste_rep.xlsm et dont le nom serait la colonne B qui y est associée.

Est-ce possible avec Excel ?

J'ai essayé ceci mais sans succès
Code:
Sub enregistrement()
'
' enregistrement
'
    Dim WB_Principal As Workbook
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\Bureau\macros\modèle.xlsm"
    
    ' Instanciation de la variable pour connaître le classeur actif
    Set WB_Principal = ActiveWorkbook
    ' Amène le classeurs cible en avant plan, celui-ci devient le [ ActiveWorkbook ]
    Workbooks("liste_rep.xlsm").Activate
    Sheets("repertoire").Select
    For i = 1 To Cells(Rows.Count, "B").End(xlUp).Row
        nom_fich = Range("A" & i).Value & "\" & Range("B" & i).Value
        'MsgBox nom
        WB_Principal.Activate
        ActiveWorkbook.SaveAs Filename:= _
        nom_fich, _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    Next i

Merci.
 

Pièces jointes

  • liste_rep.xlsm
    18.5 KB · Affichages: 63
Dernière édition:

bbb38

XLDnaute Accro
Re : Copier un classeur modèle dans une liste de répertoire

Bonjour gege765, le forum,
Pour ma part (compte tenu de mes connaissances en vba), j’affecterai les classeurs mentionnés dans la colonne B (lors de leur création) dans le répertoire C:\Export, et je copierai le modèle (en tant que feuille) dans le classeur (mais tu es le seul à connaître l’utilité de créer des sous répertoires).
Cordialement,
Bernard
 
Dernière édition:

gege765

XLDnaute Nouveau
Re : Copier un classeur modèle dans une liste de répertoire

Bonjour Bernard,
Le problème c'est que je souhaite garder le fichier synthèse.xlsm sous forme de classeur et pas sous forme de feuille.
De plus je dois garder la structure sous forme de sous répertoires).

Pour m'en sortir je pensais copier le modèle synthèse.xlsm dans l'ensemble des sous répertoire de la colonne A.
Puis ensuite pour chacun des sous répertoires de la colonne A renommer le fichier synthèse.xlsm par le nom donné en B

Mais cela me fait faire 2 boucles.

D'autres avis ?
Des exemples de codes ?

Merci.
 

Dormeur74

XLDnaute Occasionnel
Re : Copier un classeur modèle dans une liste de répertoire

Mets cette macro dans ton fichier et lance-la.

Code:
Sub Macro1()
    Dim origine, destination As String
    Dim y As Long
    
    origine = ThisWorkbook.Path & "\Modèle.xlsm"
    For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        destination = Cells(y, 1) & "\" & Cells(y, 2)
        FileCopy origine, destination
    Next y
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG