Bonjour,
Je desire créer une macro qui copie le classeur courant et qui enregistre la copie sous un nom different en y apportant quelques modifications.
Voila ce que j'ai commencé à faire:
Bien que ce code fonctionne il ne fait pas exactement ce que j'aimerai faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Private Sub CommandButton1_Click() 'Extract 'Déclaration Data Dim fileSaveName, InitialFileName, NoSemaine Dim NewClasseur As Workbook Dim MaFeuille As Worksheet 'sauvegarde des Mise a jour avant copie ActiveWorkbook.Save 'Creation d'une copie Set NewClasseur = ActiveWorkbook Set MaFeuille = NewClasseur.Worksheets(1) 'Suppression des info perso MaFeuille.Columns("T:BY").Select Selection.Delete Shift:=xlToLeft 'Enregistrement du nouveau classeur NoSemaine = Format(Date, "ww", , vbFirstFourDays) InitialFileName = "Commun - S" & NoSemaine & ".xls" fileSaveName = Application.GetSaveAsFilename(InitialFileName, fileFilter:="Excel Files (*.xls), *.xls") NewClasseur.SaveAs (fileSaveName) NewClasseur.Close End Sub
Enfaite il modifie le classeur en cours et l'enregistre sous un autre nom.
1) Ce que j'aimerai faire c'est copier le classeur en cours dans NewClasseur. Ne pas pas l'afficher et effectuer les modif et l'enregister. Comme cela le fichier modifier est créer mais le fichier principal d'ou la macros a été lancé reste inchangé et affiché tel qu'il était losque la macro a été lancé.
2) De plus pour lancer la macro j'ai un bouton CommandButton1 et la fonction associé CommandButton1_Click. J'aimerai suprimer cette objet et cette macro de la copie faite dans NewClasseur. Quelqu'un a t il une idée de comment cela peut ce faire?
Partager