copie d'une partie des feuilles d'un classeur vers un nouveau classeur

S

sylvain

Guest
Bonjour à toutes et tous,

j'ai un petit problème que je n'arrive pas à résoudre:

j'ai un classeur qui comprend une quinzaine de feuilles;

j'aimerais créer une procédure VBA qui me permette d'en copier quelques unes seulement vers un nouveau classeur, tout en gardant le classeur d'origine ouvert.

Petite précision: les feuilles ne sont pas contigües et leurs numéro de série ne se suivent pas.

J'ai essayé la procédure avec SaveCopyAs créée dans un fil précédent (je ne sais pas faire d'hyperlien, désolé):


Dim ThePath As String
Dim TheFileToSave As Variant
If Worksheets("accueilcsp").Range("a3") = "" Then
ThePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & "vous n'avez pas saisi les données générales"
Else
ThePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & Worksheets("tralala").Range("a3")
End If
TheFileToSave = Application.GetSaveAsFilename(ThePath, "Microsoft Excel,*.xls")
If TheFileToSave = False Then Exit Sub

With Application
.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs TheFileToSave
.DisplayAlerts = True
End With

Elle correspond exactement à ce vers quoi je rêve de tendre, à la nuance près que je ne veux pas toutes les feuilles du classeur.

Merci déjà pour tout ce que j'ai déjà réussi à glaner sur ce forum.
Longue vie à lui et bon week-end à tous !
 
M

michel

Guest
bonsoir Sylvain

tu peux essayer l'adaptation ci dessous

.....
With Application
.DisplayAlerts = False
ActiveWorkbook.Worksheets(Array("feuil2", "feuil5")).Copy
ActiveWorkbook.SaveCopyAs TheFileToSave
ActiveWorkbook.Close False
.DisplayAlerts = True
End With
......

dans l'exemple , "feuil2" ,"feuil5" sont les feuilles sauvegardées
j'espre que cela pourra t'aider


bonne soiree
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11