J'utilise ça actuellement:
"ActiveSheet.SaveAs 'C:\Projet.xls'"
Auriez-vous une solution à mon problème ?
Merci d'avance ;)
Il n'est pas possible d'enregistrer seulement une feuille comme étant un nouveau classeur.
La procédure va faire le travail que tu demandes.
Tout le code situé dans la feuille copiée sera supprimé.
'----------------------------
Sub EnregistrerFeuille1()
Dim Wk As Workbook, Nom As String
Nom = ThisWorkbook.Name
Application.ScreenUpdating = False
'Adapte le nom de la feuille à sauvegarder
With Worksheets("Feuil1")
.Copy
End With
'Supprime tout le code dans le
'code de la feuille 1
Set Wk = ActiveWorkbook
With Wk.VBProject.VBComponents _
(Wk.Worksheets(1).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
'Sauvegarde de la feuille dans un
'nouveau classeur
Wk.SaveAs "C:\Projet.xls"
'Pour fermer le Nouveau classeur au besoin
Wk.Close False
Workbooks(Nom).Activate
Set Wk = Nothing
End Sub
'----------------------------
Salutations!
"Hubert Dubois" <anon...@discussions.microsoft.com> a écrit dans le message de
news:7a8901c4315b$f5a19990$a401...@phx.gbl...
Mais pourrais-je vous solliciter encore un petit moment ?
J'ai une erreur lors de l'éxecution de cette partie de
code "Set Wk = ActiveWorkbook
With Wk.VBProject.VBComponents _
(Wk.Worksheets(1).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With"
Petite précision, mon code se trouve dans "ThisWorkbook".
Merci!
Meilleures salutations.
Hubert Dubois
Sous excel 2002, la procédure fonctionne très bien.
"Petite précision, mon code se trouve dans "ThisWorkbook"."
Écoute ta question demandait d'enregistrer la feuille choisie comme faisant d'un nouveau classeur et de faire
disparaître le code dans le module feuille choisie ... ce que fait la macro. Dans le nouveau Classeur qui est généré à
partir de la feuille choisie, il ne devrait pas y avoir l'ombre d'un début de code dans le ThisWorkbook puisque c'est un
nouveau classeur qui est créé.
Dans la procédure, tu n'as qu'à choisir la feuille désirée dans le code suivant :
'Adapte le nom de la feuille à sauvegarder
With Worksheets("Feuil1")
.Copy
End With
Salutations!
"Hubert Dubois" <anon...@discussions.microsoft.com> a écrit dans le message de
news:7ecc01c431a5$b05a76a0$a101...@phx.gbl...
pourtant ça me renvoie une erreur de ce type: propriété ou
methode incorrect sur la ligne
" .CodeModule.DeleteLines 1, .CountOfLines"
Je comprend pas le problème là.
Je travaille à partir d'excel 2002 ... Quelle ta version ?
Attention à la PRÉSENTATION du texte de la macro :
With Wk.VBProject.VBComponents _
(Wk.Worksheets(1).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
ce qui précède n'est pas l'équivalent de ceci écrit sur la même ligne
" .CodeModule.DeleteLines 1, .CountOfLines"
Faut quand même prendre le temps de copier la procédure comme il se doit !
Salutations!
"Hubert Dubois" <anon...@discussions.microsoft.com> a écrit dans le message de
news:7f2301c431db$d94c4670$a401...@phx.gbl...
Je sais pas ce qui se passe. Enfin merci quand même et
bonne soirée.
Sub transfert_4()
'plein d'actions diverses et variées telles que sauvegarde du
'fichier original puis ...
Application.Calculation = xlCalculationAutomatic
On Error Resume Next
With ActiveWorkbook.VBProject. _
VBComponents("ThisWorkbook").CodeModule
.deleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
End Sub
@+
FxM