Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

poussy67

XLDnaute Occasionnel
Bonjour le forum

Est-il possible de modifier un nom de classeur dans une VBA.
Une ligne contient un nom de classeur qui me sert de model et lors de sont enregistrement sous, ce nom ne change pas ce qui est normal existe t'il un moyen de modifier?

Classeur model:
Windows("model.xls").Activate

Classeur enregistrer sous "test1":
Windows("test1.xls").Activate


Private Sub CommandButton1_Click()
' nom du classur model
Windows("model.xls").Activate
'remplacé par l'enregistrer sous ex.: test1
'Windows("test1.xls").Activate
End Sub

merci d'avance pour votre aide
Cdt poussy
 

tototiti2008

XLDnaute Barbatruc
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Bonjour poussy,

en général je conseille d'utiliser

Workbooks("model.xls").Activate
plutôt que
Windows("model.xls").Activate

mais ça ne répond pas à ta question... que je n'ai pas comprise :confused:
 

Pierrot93

XLDnaute Barbatruc
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Bonjour Poussy

essaye peut être ainsi, si j'ai bien compris :

Code:
Workbooks("model.xls").SaveAs "test1.xls"

bonne journée
@+

Edition : bonjour toto
 

poussy67

XLDnaute Occasionnel
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

bonjour Pierrot93, tototiti2008

J'ai essayé de mettre Workbooks a la place de Windows cela reste le meme problème.

Les noms de classeur peuvent varié. Quand j'utilise le classeur model je l'enregistre sous des noms différent pour travailler et avec ce classeur. J'importe des données d'autre classeur. Lors de l'importation la macro recherche le classeur Model pour coller les données dans une feuille, et le problème le classeur model a changer de nom et s'appelle xxxxx.XLS.

cdt poussy
 

Pierrot93

XLDnaute Barbatruc
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Re

pas tout compris moi... D'autant que la macro que tu nous donnes ne fait qu'activer 2 classeurs successivement, ce qui à priori, n'a pas d'utilité...
@+
 

tototiti2008

XLDnaute Barbatruc
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Re,
Bonjour Pierrot ;),

content de voir que je ne suis pas le seul à ne pas avoir tout compris
L'enregistrement sous un autre nom de model.xls est fait par macro ou manuellement par l'utilisateur ?
si c'est par macro, tu peux gérer une variable qui retiendra ce nom
si c'est manuel, y a t-il un contenu spécifique de ton modèle qui nous permettrait de l'identifier (nom de feuille, contenu de cellule ou autre)
 

JNP

XLDnaute Barbatruc
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Bonjour le fil :),
Si, totalement par hasard, j'ai compris la question :D, je proposerais de stocker le nom du classeur actif en début de macro dans une variable
Code:
Dim ClasseurActif As String
ClasseurActif = ThisWorkbook.Name
afin de remplacer model.xls par
Code:
Workbooks(ClasseurActif).Activate
A + :cool:
 

poussy67

XLDnaute Occasionnel
Re : Comment modifier un nom de classeur dans la Vba lors d'un enregistrer sous

Bonjour le forum

JNP j'ai ajouté et changé les codes, depuis il me demande re-ouvrir le fichier en risquant de perdre toute modification. Quand je sélectionne Non j'ai un message d'erreur exécution 1004, quand je sélectionne Oui l'importation ne ce fait pas.
dur dur la VBA d'excel :(

cdt poussy

Ci-joint un l'exemple avec la modif:
 

Pièces jointes

  • Model.zip
    64 KB · Affichages: 95
  • Model.zip
    64 KB · Affichages: 101
  • Model.zip
    64 KB · Affichages: 104

Discussions similaires