Question à 100 balles:
Est-il possible d'enregistrer une seule feuille du classeur sous un autre nom et dans un autre fichier en utilisant l'équivalent de SavCopyAs, mais qui fonctionnerait pour une feuille et pas uniquement pour un classeur?
Question à 100 balles:
Est-il possible d'enregistrer une seule feuille du classeur sous un autre nom et dans un autre fichier en utilisant l'équivalent de SavCopyAs, mais qui fonctionnerait pour une feuille et pas uniquement pour un classeur?
Bonsoir NicolasMO,
A mon avis il faut créer un nouveau classeur, y insérer la feuille et l'enregister.
avec un code du genre :
Evidemment les variables indiquées ici (en rouge) ainsi que le nom du fichier ou de la feuille (en bleu) sont à adapter à votre cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim NewBook As Workbook Set NewBook = Workbooks.Add nomf = numf & Mid(nomc, 1, 5) & ".xls" NewBook.SaveAs Filename:=mpath & nomf Workbooks("Facture.xls").Sheets("Modele").Copy Before:=Workbooks(nomf).Sheets(1)
Est ce que tu veux forcément utiliser un équivalent de SaveCopyAs ou t'accepterais un autre moyen ?
Et aussi est ce que le fichier ou tu enregistrerais cette feuille peut changer et nécessite que tu ouvres l'explorateur pour le choisir à chaque enregistrement, parceque dans ce cas, tu pourrais aussi passer par FileSystemObject en saisissant au préalable un nom de feuille dans un Userform. Si un truc comme ça te convient, je dois avoir ça en stock quelquepart![]()
Avec FSO, ça pourrait donner un truc qui approche de ça, à retoucher un peu bien sûr :
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 Sub enr2() Dim nomfeuille As String Dim nomfichier As String Dim oFso As Scripting.FileSystemObject Set oFso = New Scripting.FileSystemObject 'En admettant que tu fasses un Userform pour saisir un nom de feuille : nomfeuille = UserForm.TextBox Workbooks.Open Filename:=Application.GetOpenFilename("Classeurs Excel (*.xls), *.xls") 'ça ouvre l'explorateur nomfichier = oFso.GetFileName(ActiveWorkbook) Workbook(nomfichier).Sheets.Add ActiveSheet.Name = nomfeuille Workbook(Tonfichierdorigine).Sheets(tafeuilledorigine).Cells.Copy Workbook(nomfichier).Sheets(nomfeuille).Paste End Sub
Partager