Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1291 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Renommer un classeur via macro à partir d'un classeur différent

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Renommer un classeur via macro à partir d'un classeur différent

n°1579464
lestagiair​e
Posté le 26-06-2007 à 16:35:08  profilanswer
 

Bonjour Forum,  
 
 
J'ai une petite difficulté avec une application vu mon niveau en VBA...  :sarcastic:  
Peut être que l'un ou l'une d'entre vous pourra me filer un pti coup de pouce.
 
J'aimerai renommer un classeur (ouvert) que l'on appelera "Classeur2" par un nom de cellule se trouvant dans le "Classeur1" qui est également ouvert. La macro que je tape se trouve aussi dans le classeur1.
J'ai réussi à choper le bout de code suivant mais j'arrive pas à faire comprendre au logiciel que le classeur à modifier est le classeur2.
 
Voici le code.
 

Code :
  1. Sub Classeur1()
  2. Dim Nom As String
  3. Nom = Range("Feuil1!B17" )
  4. ChDir "C:\Documents and Settings\"
  5. Activate.Workbook("Classeur2" ).SaveAs Filename:=(Nom)
  6. End Sub


 
Merci d'avance.
 
Julien.

mood
Publicité
Posté le 26-06-2007 à 16:35:08  profilanswer
 

n°1579473
jpcheck
Pioupiou
Posté le 26-06-2007 à 16:45:08  profilanswer
 


salut,
un .value après le range peut déjà t'aider pour savoir si tu es bien dans ton classeur 1...

n°1579480
lestagiair​e
Posté le 26-06-2007 à 16:52:00  profilanswer
 

Hello jpcheck,  
 
Après avoir mis le .value, VB me met:
 
Erreur de compilation: Argument non facultatif
 
Je pense bien être dans le classeur 1...
Je fais quoi pour arranger ce bug?
 
Merci.

n°1579484
Paul Hood
Posté le 26-06-2007 à 16:57:26  profilanswer
 

Bonjour
 
Nom = Range("Feuil1!A1" )
ActiveWorkbook.SaveAs Filename:="C:\" & Nom

n°1579493
lestagiair​e
Posté le 26-06-2007 à 17:10:33  profilanswer
 

Salut paul,  
 
Ta réponse permet de renommer le fichier dans lequel j'execute la macro.  
Malheureusement ce n'est pas excatement ce que je cherche.
J'aimerai renommer un fichier autre ("Classeur 2" cf premier message)
qui est également ouvert. En réalité l'autre classeur est crée par cette même macro...
 
Merci.
Julien.

n°1579499
Paul Hood
Posté le 26-06-2007 à 17:14:03  profilanswer
 

Alors ca change tout !
 
Workbooks("Classeur2" ).SaveAs Filename:="C:\" & Nom

n°1579730
lestagiair​e
Posté le 27-06-2007 à 09:11:27  profilanswer
 

Salutations Paul,  
 
Désolé pour la réaction tardive, mais la réponse ci-dessus me génère une erreur asssez surprenante:
 
Erreur d'exécution '1004'
 
Fichier inaccessible. Essayez l'une des opérations suivantes:
 
Vérifiez que le dossier spécifié existe
Vérifiez que le dossier dans lequel se trouve le fichier n'est pas en lecteure seule
vérifiez que le nom du fichier ne comporte pas les caractère suivants; | <>?....
 
Et il me mets en erreur ta ligne de code.
J'ai bien sûr vérifié tous ces critères à part celui des droits du fichier.
Je suis bien bloqué là!!
 
Julien.

n°1579753
lestagiair​e
Posté le 27-06-2007 à 09:58:25  profilanswer
 

Hello,  
 
Finalement j'ai trouvé une solution avec l'instruction ReadOnlyRecommanded:=False.
 
Merci pour vos réponses!
Julien.

n°1580002
lestagiair​e
Posté le 27-06-2007 à 16:38:37  profilanswer
 

Re Forum,  
 
Je suis confronté à un autre petit problème,  
J'aimerai juste par l'ancien classeur fermer le nouveau classeur maintenant renommé.
 
Après la commande que Paul m'a gentillement conseillée j'ai sans grande convistion je vous l'avour mis:
 
Windows("&Nom.xls" ).Close SaveChanges:=True
 
Merci d'avance de porter votre attention une nouvelle fois sur mes petits soucis.
 
Julien.
 

n°1580016
jpcheck
Pioupiou
Posté le 27-06-2007 à 16:58:03  profilanswer
 

je propose :
Workbooks(nom).Close SaveChange:=true

mood
Publicité
Posté le 27-06-2007 à 16:58:03  profilanswer
 

n°1580026
Paul Hood
Posté le 27-06-2007 à 17:07:38  profilanswer
 

jpcheck a écrit :

je propose :
Workbooks(nom).Close SaveChange:=true


Et je confirme  :bounce:

n°1580197
lestagiair​e
Posté le 28-06-2007 à 08:41:20  profilanswer
 

Merci beaucoup!
 
C'est déjà super, mais j'espère  ne pas pousser  grandmère dans les orties en demandant comment faire pour fermer vraiment l'application Excel en elle même en plus du classeur....? :)
 
Mais encore Merci!!
 
Julien.

n°1580200
Paul Hood
Posté le 28-06-2007 à 08:58:51  profilanswer
 

Application.quit devrait faire l'affaire

n°1580201
lestagiair​e
Posté le 28-06-2007 à 09:06:19  profilanswer
 

Merci Paul.
 
Julien.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Renommer un classeur via macro à partir d'un classeur différent

 

Sujets relatifs
interompre un lancement automatique de macroProblème de copie via macro d'une feuille vers un classeur différent
fonction SQL dans macro excelcopier coller cellule excel dans word à partir d'excel
Problème macro excel[EXCEL] Macro sans mémoire de cases
Macro de "mise en forme"[VBS] recherche d'une chaine de caractere dans different fichiers
Plus de sujets relatifs à : Renommer un classeur via macro à partir d'un classeur différent


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR