modification nom du nouveau classeur

modification nom du nouveau classeur - VB/VBA/VBS - Programmation

Marsh Posté le 30-04-2006 à 11:19:19    

Bonjour
 
Présentation du sujet:
  Je souhaite faire une macro qui sauvegarde, un copié collé en valeur et en format de deux onglets de mon fichier. Puis qu'elle donne un nom à ce fichier sauvegarder et le ferme.
 
Mon problème:
 Ma macro tourne bien seulement je dois la modifier à chaque fois que je fais un test, en effet le nouveau classeur crée s'appelle "classeur7.xls" puis "classeur8.xls"
 comment puis je faire pour remedier à ce eptit problème.
 
Voici le code que j'utilise:
[/code]
Sub Enregi_V3()

 

Dim Nomfichier As String
Dim Emplacement As String
 
Emplacement = ActiveWorkbook.Sheets(1).Range("C76" )
Nomfichier = ActiveWorkbook.Sheets(1).Range("C77" )

 

   Workbooks.Add
    Windows("FichierSource.xls" ).Activate
    Range("A1:J62" ).Select
    Selection.Copy
    Windows("Classeur7" ).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Windows("FichierSource.xls" ).Activate
    Sheets("ONGLET1" ).Select
    Range("A1:D89" ).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Classeur7" ).Activate
    Sheets("ONGLET2" ).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Sheets("ONGLET1" ).Select
    Application.CutCopyMode = False
    ChDir _
        Emplacement
    ActiveWorkbook.SaveAs Filename:= _
        Emplacement & "\" & Nomfichier _
        , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    Windows("FichierSource.xls" ).Activate
    Sheets("ONGLET1" ).Select
    Range("A2" ).Select
   
Application.Workbooks(Nomfichier & ".xls" ).Save
Application.Workbooks(Nomfichier & ".xls" ).Close
   
End Sub
 
[/code]
 
 
Je vous remercie de votre et si vous estimez que mon programme peut être améliorer n'hésitez pous vos remarques !!
 
LeSqual

Reply

Marsh Posté le 30-04-2006 à 11:19:19   

Reply

Marsh Posté le 30-04-2006 à 23:14:12    

Bonjour,  
 
A la création de ton nouveau classeur, tu sotck son nom dans une variable que tu réutilisera plus tard pour réactiver ton classseur :  
 
Workbooks.Add
Name = ActiveWorkbook.Name
 
Puis :  
 
Workbooks(Name).Activate
 
 
Ca dervrait marcher

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed