Creer un classeur avec un nom variable

bartelele

XLDnaute Junior
Bonjour à tous,

J’ai un fichier excel avec un bouton qui exécute cette macro


Sub test()

Workbooks.Add
Windows("FAAA Base v1.5.xls").Activate
Sheets("FAAA-Fr").Select
Sheets("FAAA-Fr").Copy Before:=Workbooks("Classeur1").Sheets(1)
Windows("FAAA Base v1.5.xls").Activate
Cells.Select
Selection.Copy
Windows("Classeur1").Activate
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("J:J").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft

End Sub

Cette macro permet de créer un ouvre classeur et de faire une copie d’une feuille puis une copie des valeurs afin de ne pas avoir les formules.

Cela fonctionne très bien. :)

Mon problème concerne le nom du classeur créé (en l’occurrence Classeur1), car évidemment si je clique une 2eme fois sur le bouton sans avoir fermer excel, il va me créer un classeur2 et donc ne pas me copier ma feuille.

Comment je peux faire pour que le numéro du classeur change à chaque fois (Classeur2, Classeur3 etc…) ???:confused:

Merci de votre aide
 

Caillou

XLDnaute Impliqué
Re : Creer un classeur avec un nom variable

Bonjour,

tu peux peut-être stocké le nom du classeur créé dans une variable (juste en dessous de Workbooks.Add)
MonClasseur=ActiveWorkBook.Name

et ensuite tu utilises cette variable pour désigner le nom de ton classeur
Sheets("FAAA-Fr").Copy Before:=Workbooks(lMonClasseur).Sheets(1).....

Caillou
 

Pierrot93

XLDnaute Barbatruc
Re : Creer un classeur avec un nom variable

Bonjour,

une autre solution, utiliser une variable objet :
Code:
Dim wb As Workbook
Set wb = Workbooks.Add
wb.Activate

ensuite partout dans ton code, lorsque tu veux utiliser le classeur ainsi créé, tu utilise la variable "wb"..

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 222
Messages
2 086 394
Membres
103 200
dernier inscrit
pascalgip