Microsoft 365 Copier un dossier et son contenu puis y enregistrer un classeur. Renommer chaque élément selon des valeurs de cellules

  • Initiateur de la discussion Initiateur de la discussion Flavien39
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Flavien39

XLDnaute Nouveau
Bonjour à tous et à toutes,

Le code ci-après fonctionne bien et me permet:
- d'ouvrir un classeur "modèle" dont l'adresse est inscrite en dur dans le programme,
- d'y copier des données inscrites au préalable dans le classeur appelant,
- d'enregistrer le classeur appelé mis à jour sous un nouveau nom selon des données inscrites dans des cellules du classeur appelant. Idem le chemin de destination est inscrit en dur dans le programme.

Je souhaiterais :
- que la macro créer pour chaque nouveau classeur un dossier portant le même nom pour y enregistrer ledit nouveau classeur. Je rêve un peu éveillé mais le must serait de copier un dossier modèle et son contenu.
J'espère vraiment que quelqu'un parmi vous aura une solution à mon problème car je suis épuisé.
Dans tous les cas merci !

Sub Create_Workbooks()
Dim wbToDupe As Workbook
Dim wsExtr As Worksheet
Dim rVar As Range
Dim NewName As String
Dim i As Long

Const DestFolder As String = "F:\Testing\abcd\" '<- Edit as required

Set wbToDupe = Workbooks("To Duplicate.xlsx") '<- Edit as required
Set wsExtr = ThisWorkbook.Sheets("EXTRACTION")
Set rVar = wbToDupe.Sheets("CARTOUCHE").ListObjects(1).DataBodyRange.Cells(1, 2)
With wsExtr
For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
.Range("A" & i).Resize(, 6).Copy
rVar.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
NewName = rVar.Cells(1, 0).Value & " " & rVar.Cells(1, 1).Value & " GCU - V00.xlsx"
wbToDupe.SaveAs Filename:=DestFolder & NewName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Set wbToDupe = Workbooks(NewName)
Set rVar = wbToDupe.Sheets("CARTOUCHE").ListObjects(1).DataBodyRange.Cells(1, 2)
Next i
End With
End Sub
 
Dernière édition:
Salut,

Tu as pas mal de choses intéressantes dans ce code.

wbToDupe.SaveAs Filename:=DestFolder & NewName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

DestFolder est en dur , mais il est stocké où dans ton fichier XL par rapport au nom de fichiert à GCU que tu définis dans NewName ?

A+++
Zon a vieilli...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour