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 !
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 !